import { ClientConfig } from './client-config.model';
import { DTOName } from './dto-name.model';
import { OauthTokenResponse } from './oauth-token-response.model';
export declare class RequestOptionsFacory {
    static getUUID(): string;
    static stringify(o: {
        [key: string]: any;
    }): string;
    static getDataApiUriFor(token: OauthTokenResponse, resourceName: DTOName, resourceId?: string | null, externalId?: string | null): string;
    /**
     * map of DTO objects and versions
     * { ['<DTOName>']: number }
     * Note: DTOName is case sensitiv
     */
    static getAllDTOVersions(): Readonly<{
        [name: string]: number;
    }>;
    static getDTOVersionsString(DTONames: DTOName[]): string;
    static getRequestXHeaders(config: ClientConfig): {
        'X-Client-Id': string;
        'X-Client-Version': string;
        'X-Request-ID': string;
        'X-B3-TraceId': string;
    };
    static getRequestHeaders(token: OauthTokenResponse, config: ClientConfig): {
        'X-Client-Id': string;
        'X-Client-Version': string;
        'X-Request-ID': string;
        'X-B3-TraceId': string;
        'Authorization': string;
        'Accept': string;
    };
    static getRequestAccountQueryParams(token: OauthTokenResponse, config: ClientConfig): {
        account: string | undefined;
        user: string | undefined;
        company: string;
    };
}
