export interface ModelsTariffsBoxResponse {
    data?: ModelsWarehousesBoxRates;
}
export interface ModelsWarehousesBoxRates {
    dtNextBox?: string;
    dtTillMax?: string;
    warehouseList?: ModelsWarehouseBoxRates[] | null;
}
export interface ModelsWarehouseBoxRates {
    boxDeliveryAndStorageExpr?: string;
    boxDeliveryBase?: string;
    boxDeliveryLiter?: string;
    boxStorageBase?: string;
    boxStorageLiter?: string;
    warehouseName?: string;
}
export interface ModelsTariffsPalletResponse {
    data?: ModelsWarehousesPalletRates;
}
export interface ModelsWarehousesPalletRates {
    dtNextPallet?: string;
    dtTillMax?: string;
    warehouseList?: ModelsWarehousePalletRates[] | null;
}
export interface ModelsWarehousePalletRates {
    palletDeliveryExpr?: string;
    palletDeliveryValueBase?: string;
    palletDeliveryValueLiter?: string;
    palletStorageExpr?: string;
    palletStorageValueExpr?: string;
    warehouseName?: string;
}
export interface ModelsReturnTariffsResponse {
    data?: ModelsWarehousesReturnRates;
}
export interface ModelsWarehousesReturnRates {
    dtNextDeliveryDumpKgt?: string;
    dtNextDeliveryDumpSrg?: string;
    dtNextDeliveryDumpSup?: string;
    warehouseList?: ModelsWarehouseReturnRates[] | null;
}
export interface ModelsWarehouseReturnRates {
    deliveryDumpKgtOfficeBase?: string;
    deliveryDumpKgtOfficeLiter?: string;
    deliveryDumpKgtReturnExpr?: string;
    deliveryDumpSrgOfficeExpr?: string;
    deliveryDumpSrgReturnExpr?: string;
    deliveryDumpSupCourierBase?: string;
    deliveryDumpSupCourierLiter?: string;
    deliveryDumpSupOfficeBase?: string;
    deliveryDumpSupOfficeLiter?: string;
    deliveryDumpSupReturnExpr?: string;
    warehouseName?: string;
}
export interface TariffsBoxResponse {
    response?: ModelsTariffsBoxResponse;
}
export interface TariffsPalletResponse {
    response?: ModelsTariffsPalletResponse;
}
export interface ReturnTariffsResponse {
    response?: ModelsReturnTariffsResponse;
}
export interface Commission {
    report?: {
        kgvpMarketplace?: number;
        kgvpSupplier?: number;
        kgvpSupplierExpress?: number;
        paidStorageKgvp?: number;
        parentID?: number;
        parentName?: string;
        subjectID?: number;
        subjectName?: string;
    }[];
}
export interface CommissionChina {
    report?: {
        kgvpChina?: number;
        parentID?: number;
        parentName?: string;
        subjectID?: number;
        subjectName?: string;
    }[];
}
export interface CommissionTurkey {
    report?: {
        kgvpTurkey?: number;
        parentID?: number;
        parentName?: string;
        subjectID?: number;
        subjectName?: string;
    }[];
}
export interface CommissionUzbekistan {
    report?: {
        kgvpUzbekistan?: number;
        parentID?: number;
        parentName?: string;
        subjectID?: number;
        subjectName?: string;
    }[];
}
export type QueryParamsType = Record<string | number, any>;
export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
export interface FullRequestParams extends Omit<RequestInit, "body"> {
    secure?: boolean;
    path: string;
    type?: ContentType;
    query?: QueryParamsType;
    format?: ResponseFormat;
    body?: unknown;
    baseUrl?: string;
    cancelToken?: CancelToken;
}
export type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
export interface ApiConfig<SecurityDataType = unknown> {
    baseUrl?: string;
    baseApiParams?: Omit<RequestParams, "baseUrl" | "cancelToken" | "signal">;
    securityWorker?: (securityData: SecurityDataType | null) => Promise<RequestParams | void> | RequestParams | void;
    customFetch?: typeof fetch;
}
export interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
    data: D;
    error: E;
}
type CancelToken = Symbol | string | number;
export declare enum ContentType {
    Json = "application/json",
    FormData = "multipart/form-data",
    UrlEncoded = "application/x-www-form-urlencoded",
    Text = "text/plain"
}
export declare class HttpClient<SecurityDataType = unknown> {
    baseUrl: string;
    private securityData;
    private securityWorker?;
    private abortControllers;
    private customFetch;
    private baseApiParams;
    constructor(apiConfig?: ApiConfig<SecurityDataType>);
    setSecurityData: (data: SecurityDataType | null) => void;
    protected encodeQueryParam(key: string, value: any): string;
    protected addQueryParam(query: QueryParamsType, key: string): string;
    protected addArrayQueryParam(query: QueryParamsType, key: string): any;
    protected toQueryString(rawQuery?: QueryParamsType): string;
    protected addQueryParams(rawQuery?: QueryParamsType): string;
    private contentFormatters;
    protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
    protected createAbortSignal: (cancelToken: CancelToken) => AbortSignal | undefined;
    abortRequest: (cancelToken: CancelToken) => void;
    request: <T = any, E = any>({ body, secure, path, type, query, format, baseUrl, cancelToken, ...params }: FullRequestParams) => Promise<HttpResponse<T, E>>;
}
export declare class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
    api: {
        v1TariffsCommissionList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<Commission | CommissionChina | CommissionTurkey | CommissionUzbekistan, void>>;
        v1TariffsBoxList: (query: {
            date: string;
        }, params?: RequestParams) => Promise<HttpResponse<TariffsBoxResponse, void>>;
        v1TariffsPalletList: (query: {
            date: string;
        }, params?: RequestParams) => Promise<HttpResponse<TariffsPalletResponse, void>>;
        v1TariffsReturnList: (query: {
            date: string;
        }, params?: RequestParams) => Promise<HttpResponse<ReturnTariffsResponse, void>>;
    };
}
export {};
//# sourceMappingURL=tariffs.d.ts.map