export interface Error {
    code?: string;
    message?: string;
    data?: object | null;
}
export interface CrossborderTurkeyClientInfo {
    firstName?: string;
    fullName?: string;
    lastName?: string;
    middleName?: string;
    orderID?: number;
    phone?: string;
    phoneCode?: string;
}
export interface DbsClientInfo {
    firstName?: string;
    fullName?: string;
    orderID?: number;
    phone?: string;
    phoneCode?: string;
}
export interface CrossborderTurkeyClientInfoResp {
    orders?: CrossborderTurkeyClientInfo[];
}
export interface DbsClientInfoResp {
    orders?: DbsClientInfo[];
}
export interface OrdersRequestAPI {
    orders?: number[];
}
export interface Code {
    code?: string;
}
export interface PassOffice {
    name?: string;
    address?: string;
    id?: number;
}
export interface Supply {
    id?: string;
    done?: boolean;
    createdAt?: string;
    closedAt?: string;
    scanDt?: string;
    name?: string;
    cargoType?: 0 | 1 | 2 | 3;
}
export type Next = number;
export interface Order {
    address?: {
        fullAddress?: string;
        province?: string;
        area?: string;
        city?: string;
        street?: string;
        home?: string;
        flat?: string;
        entrance?: string;
        longitude?: number;
        latitude?: number;
    } | null;
    scanPrice?: number;
    deliveryType?: "dbs" | "edbs" | "fbs" | "wbgo";
    supplyId?: string;
    orderUid?: string;
    article?: string;
    colorCode?: string;
    rid?: string;
    createdAt?: string;
    offices?: string[] | null;
    skus?: string[];
    id?: number;
    warehouseId?: number;
    nmId?: number;
    chrtId?: number;
    price?: number;
    convertedPrice?: number;
    currencyCode?: number;
    convertedCurrencyCode?: number;
    cargoType?: 1 | 2 | 3;
    isZeroOrder?: any;
}
export interface OrderNew {
    address?: {
        fullAddress?: string;
        province?: string;
        area?: string;
        city?: string;
        street?: string;
        home?: string;
        flat?: string;
        entrance?: string;
        longitude?: number;
        latitude?: number;
    } | null;
    ddate?: string;
    dTimeFrom?: string;
    dTimeTo?: string;
    requiredMeta?: string[];
    deliveryType?: "dbs" | "fbs" | "edbs" | "wbgo";
    scanPrice?: number | null;
    orderUid?: string;
    article?: string;
    colorCode?: string;
    rid?: string;
    createdAt?: string;
    offices?: string[] | null;
    skus?: string[];
    id?: number;
    warehouseId?: number;
    nmId?: number;
    chrtId?: number;
    price?: number;
    convertedPrice?: number;
    currencyCode?: number;
    convertedCurrencyCode?: number;
    cargoType?: 1 | 2 | 3;
    isZeroOrder?: any;
}
export interface SupplyOrder {
    scanPrice?: number | null;
    orderUid?: string;
    article?: string;
    colorCode?: string;
    rid?: string;
    createdAt?: string;
    offices?: string[] | null;
    skus?: string[];
    id?: number;
    warehouseId?: number;
    nmId?: number;
    chrtId?: number;
    price?: number;
    convertedPrice?: number;
    currencyCode?: number;
    convertedCurrencyCode?: number;
    cargoType?: 1 | 2 | 3;
    isZeroOrder?: any;
}
export interface SupplyTrbx {
    id?: string;
    orders?: number[];
}
export interface TrbxStickers {
    barcode?: string;
    file?: string;
}
export interface Office {
    address?: string;
    name?: string;
    city?: string;
    id?: number;
    longitude?: number;
    latitude?: number;
    cargoType?: 1 | 2 | 3;
    deliveryType?: 1 | 2 | 3;
    selected?: boolean;
}
export interface Warehouse {
    name?: string;
    officeId?: number;
    id?: number;
    cargoType?: 1 | 2 | 3;
    deliveryType?: 1 | 2 | 3;
}
export interface Meta {
    imei?: string | null;
    uin?: string | null;
    gtin?: string | null;
    sgtin?: string | null;
}
export interface Pass {
    firstName?: string;
    dateEnd?: string;
    lastName?: string;
    carModel?: string;
    carNumber?: string;
    officeName?: string;
    officeAddress?: string;
    officeId?: number;
    id?: number;
}
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: {
        v3OrdersNewList: (params?: RequestParams) => Promise<HttpResponse<{
            orders?: OrderNew[] | undefined;
        }, void | Error>>;
        v3OrdersList: (query: {
            limit: number;
            next: number;
            dateFrom?: number;
            dateTo?: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            next?: number | undefined;
            orders?: Order[] | undefined;
        }, void | Error>>;
        v3OrdersStatusCreate: (data: {
            orders: number[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            orders?: {
                id?: number | undefined;
                supplierStatus?: "new" | "confirm" | "complete" | "cancel" | undefined;
                wbStatus?: "waiting" | "sorted" | "sold" | "canceled" | "canceled_by_client" | undefined;
            }[] | undefined;
        }, void | Error>>;
        v3SuppliesOrdersReshipmentList: (params?: RequestParams) => Promise<HttpResponse<{
            orders?: {
                supplyID?: any;
                orderID?: any;
            }[] | undefined;
        }, void | Error>>;
        v3OrdersCancelPartialUpdate: (orderId: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersMetaSgtinUpdate: (orderId: number, data: {
            sgtins?: string[];
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersStickersCreate: (query: {
            type: "svg" | "zplv" | "zplh" | "png";
            width: 58 | 40;
            height: 40 | 30;
        }, data: {
            orders?: number[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            stickers?: {
                orderId?: number | undefined;
                partA?: number | undefined;
                partB?: number | undefined;
                barcode?: string | undefined;
                file?: string | undefined;
            }[] | undefined;
        }, void | Error>>;
        v3OrdersMetaDetail: (orderId: number, params?: RequestParams) => Promise<HttpResponse<{
            meta?: Meta | undefined;
        }, void | Error>>;
        v3OrdersMetaDelete: (orderId: number, query?: {
            key?: string;
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersMetaUinUpdate: (orderId: number, data: {
            uin: string;
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersMetaImeiUpdate: (orderId: number, data: {
            imei: string;
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersMetaGtinUpdate: (orderId: number, data: {
            gtin: string;
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3FilesOrdersExternalStickersCreate: (data: {
            orders?: number[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            stickers?: {
                orderID?: number | undefined;
                url?: string | undefined;
                parcelID?: string | undefined;
            }[] | undefined;
        }, void | Error>>;
        v3OrdersStatusHistoryCreate: (data: {
            orders?: number[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            orders?: {
                deliveryDate?: string | undefined;
                statuses?: {
                    date?: string | undefined;
                    code?: string | undefined;
                }[] | undefined;
                orderID?: number | undefined;
            }[] | undefined;
        }, void | Error>>;
        v3OrdersClientCreate: (data: OrdersRequestAPI, params?: RequestParams) => Promise<HttpResponse<CrossborderTurkeyClientInfoResp | DbsClientInfoResp, void | Error>>;
        v3SuppliesCreate: (data: {
            name?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            id?: string | undefined;
        }, void | Error>>;
        v3SuppliesList: (query: {
            limit: number;
            next: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            next?: number | undefined;
            supplies?: Supply[] | undefined;
        }, void | Error>>;
        v3SuppliesOrdersPartialUpdate: (supplyId: string, orderId: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3SuppliesDetail: (supplyId: string, params?: RequestParams) => Promise<HttpResponse<Supply, void | Error>>;
        v3SuppliesDelete: (supplyId: string, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3SuppliesOrdersDetail: (supplyId: string, params?: RequestParams) => Promise<HttpResponse<{
            orders?: SupplyOrder[] | undefined;
        }, void | Error>>;
        v3SuppliesDeliverPartialUpdate: (supplyId: string, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3SuppliesBarcodeDetail: (supplyId: string, query: {
            type: "svg" | "zplv" | "zplh" | "png";
        }, params?: RequestParams) => Promise<HttpResponse<{
            barcode?: string | undefined;
            file?: string | undefined;
        }, void | Error>>;
        v3SuppliesTrbxDetail: (supplyId: string, params?: RequestParams) => Promise<HttpResponse<{
            trbxes?: SupplyTrbx[] | undefined;
        }, void | Error>>;
        v3SuppliesTrbxCreate: (supplyId: string, data: {
            amount: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            trbxIds?: string[] | undefined;
        }, void | Error>>;
        v3SuppliesTrbxDelete: (supplyId: string, data: {
            trbxIds: string[];
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3SuppliesTrbxPartialUpdate: (supplyId: string, trbxId: string, data: {
            orderIds: number[];
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3SuppliesTrbxOrdersDelete: (supplyId: string, trbxId: string, orderId: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3SuppliesTrbxStickersCreate: (supplyId: string, query: {
            type: "svg" | "zplv" | "zplh" | "png";
        }, data: {
            trbxIds: string[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            stickers?: TrbxStickers[] | undefined;
        }, void | Error>>;
        v3StocksUpdate: (warehouseId: number, data: {
            stocks: {
                sku?: string;
                amount?: number;
            }[];
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error | Error[]>>;
        v3StocksDelete: (warehouseId: number, data: {
            skus?: string[];
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3StocksCreate: (warehouseId: number, data: {
            skus?: string[];
        }, params?: RequestParams) => Promise<HttpResponse<{
            stocks?: {
                sku?: string | undefined;
                amount?: number | undefined;
            }[] | undefined;
        }, void | Error>>;
        v3OfficesList: (params?: RequestParams) => Promise<HttpResponse<Office[], void | Error>>;
        v3WarehousesList: (params?: RequestParams) => Promise<HttpResponse<Warehouse[], void | Error>>;
        v3WarehousesCreate: (data: {
            name: string;
            officeId: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            id?: number | undefined;
        }, void | Error>>;
        v3WarehousesUpdate: (warehouseId: number, data: {
            name: string;
            officeId: number;
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3WarehousesDelete: (warehouseId: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3PassesOfficesList: (params?: RequestParams) => Promise<HttpResponse<PassOffice[], void | Error>>;
        v3PassesList: (params?: RequestParams) => Promise<HttpResponse<Pass[], void | Error>>;
        v3PassesCreate: (data: {
            firstName: string;
            lastName: string;
            carModel: string;
            carNumber: string;
            officeId: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            id?: number | undefined;
        }, void | Error>>;
        v3PassesUpdate: (passId: number, data: {
            firstName: string;
            lastName: string;
            carModel: string;
            carNumber: string;
            officeId: number;
        }, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3PassesDelete: (passId: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersConfirmPartialUpdate: (order: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersDeliverPartialUpdate: (order: number, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersReceivePartialUpdate: (order: number, data: Code, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
        v3OrdersRejectPartialUpdate: (order: number, data: Code, params?: RequestParams) => Promise<HttpResponse<void, void | Error>>;
    };
}
export {};
//# sourceMappingURL=marketplace.d.ts.map