type Config = {
    url: string;
    sessionKey?: string;
    useBearerToken?: boolean;
    debug?: boolean;
};
export type Success = {
    success: string;
};
/**
 * @param [offset] Return results starting from this index position
 * @param [limit] Maximum number of results to return
 */
export type Pagination = {
    offset?: number;
    limit?: number;
};
/**
 * @param [offset] Return results starting from this index position
 * @param [limit] Maximum number of results to return
 * @param [cond] Apply additional filters to the browse using ; separated comma string pairs (e.g. 'filter1,value1;filter2,value2')
 * @param [sort] Sort name or comma-separated key pair. (e.g. 'name,order') Default order 'ASC' (e.g. 'name,ASC' == 'name')
 */
export type ExtendedPagination = Pagination & {
    cond?: string;
    sort?: string;
};
export type BinaryBoolean = 0 | 1;
export type UID = string | number;
export declare abstract class Base {
    sessionKey: string;
    url: string;
    version: string;
    useBearerToken: boolean;
    debug: boolean;
    constructor(config: Config);
    protected request<T>(endpoint: string): Promise<T>;
    protected binary<T>(endpoint: string): Promise<Blob>;
    setSessionKey(sessionKey: string): void;
    /**
     * Construct and return a URL
     * @param endpoint
     * @param [params]
     */
    rawURL(endpoint: string, params?: {}): string;
}
export {};
