export interface APIError<Entity> {
    code: string | number;
    message: string;
    ticket_id?: string;
    fields?: {
        [Key in keyof Entity]?: string[];
    };
}
interface BaseResponse {
    status: number;
    headers: Record<string, string>;
    url: string;
    method: string;
    query: Record<string, string | number>;
}
export interface APIResponseWarning {
    code: number;
    message: string;
    [key: string]: unknown;
}
export interface APIResponse<Entity> extends BaseResponse {
    data: Entity;
    warnings: APIResponseWarning[];
    status: number;
    meta: Record<string, unknown> | [];
    paging?: PagingResponse;
}
export interface APIErrorResponse<Entity> extends BaseResponse {
    data: null;
    warnings?: unknown[];
    errors: APIError<Entity>[];
    meta?: Record<string, unknown>;
}
export interface PagingResponse {
    currentPage: number;
    from: number;
    hasNext: boolean;
    hasPrevious: boolean;
    totalPages: number;
    size: number;
    to: number;
    totalResults: number;
}
export interface BaseFields {
    id: string;
    created_at: string;
    enterprise_id: string;
    external_id?: string | null;
}
export {};
//# sourceMappingURL=shared.d.ts.map