import { IServiceLayerClient, ISuperAgentRequestFactory } from "../..";
import { IServiceLayerRequestsSender } from "../adapters/interfaces/i-service-layer-request-sender.class";
declare class ServiceLayerClient implements IServiceLayerClient {
    protected readonly superAgentRequestsFactory: ISuperAgentRequestFactory;
    private _baseServiceLayerUrl;
    private _userAgent?;
    private _maximumRetries;
    private _getRequestsSender;
    private _getCachedRequestsSender;
    private _resilientRequestsSender;
    protected get baseServiceLayerUrl(): string;
    protected get maximumRetries(): number;
    protected get getRequestsSender(): IServiceLayerRequestsSender;
    protected get getCachedRequestsSender(): IServiceLayerRequestsSender;
    private get getResilientRequestsSender();
    constructor(superAgentRequestsFactory: ISuperAgentRequestFactory, baseServiceLayerUrl?: string, maximumRetries?: number, userAgent?: string);
    get(path: string, headers?: {
        [key: string]: string;
    }): Promise<any[]>;
    getCached(path: string, headers?: {
        [key: string]: string;
    }, type?: string): Promise<any[]>;
    post(path: string, data: any, headers?: any, type?: string): Promise<any[]>;
    put(path: string, data: any, headers?: {
        [key: string]: string;
    }, type?: string): Promise<any[]>;
    delete(path: string, headers?: {
        [key: string]: string;
    }, type?: string): Promise<any[]>;
    private createGetRequest;
    private createPostRequest;
    private createPutRequest;
    private createDeleteRequest;
    private buildUrl;
    private initializeRequestsSenders;
}
export { ServiceLayerClient };
