import type { Entity, EntityQuery, ErrorCode, LoginOptions, Paging } from "./clarizen-api-types.js";
export type JsonValue = string | number | boolean | null | JsonValue[] | {
    [key: string]: JsonValue;
};
export type JsonObject = {
    [key: string]: JsonValue;
};
export interface ClarizenErrorBody {
    errorCode: ErrorCode | string;
    message: string;
    referenceId?: string;
}
export interface LoginParams {
    userName: string;
    password: string;
    loginOptions?: LoginOptions;
}
export interface ServerDefinition {
    serverLocation: string;
    appLocation?: string;
    organizationId?: number;
}
export interface LoginResult {
    sessionId: string;
    userId: string;
    organizationId: string;
    licenseType: string;
    serverTime?: string;
}
export interface SessionInfo {
    sessionId: string;
    userId: string;
    organizationId: string;
    serverTime?: string;
    licenseType?: string;
    customInfo?: Array<{
        fieldName: string;
        value: string;
    }>;
}
export type EntityQueryParams = EntityQuery;
export interface EntityQueryResult {
    entities: Entity[];
    paging?: Paging;
}
export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
export interface EndpointDefinition {
    namespace: string;
    operation: string;
    path: string;
    httpMethods: HttpMethod[];
    description: string;
}
export type AuthMode = {
    type: "apiKey";
    token: string;
} | {
    type: "session";
    sessionId: string;
} | {
    type: "none";
};
//# sourceMappingURL=types.d.ts.map