export interface ResponseCardCreate {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        string?: string;
    } | string;
}
export interface RequestMoveNmsImtConn {
    targetIMT: number;
    nmIDs: number[];
}
export interface RequestMoveNmsImtDisconn {
    nmIDs: number[];
}
export interface ResponseIncorrectDate {
    error?: string;
}
export interface ResponseContentError1 {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        error?: string;
    };
}
export interface ResponseBodyContentError400 {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        MoveNmsToTrash?: string;
    };
}
export interface ResponseBodyContentError403 {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: string;
}
export interface ResponseContentError4 {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        description?: string;
    };
}
export interface ResponseContentError5 {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        tagID?: string;
    };
}
export interface ResponseContentError6 {
    data?: object | null;
    error?: boolean;
    errorText?: string;
    additionalErrors?: string | null;
}
export interface MediaErrors {
    additionalErrors?: object;
    data?: object;
    error?: boolean;
    errorText?: 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> {
    content: {
        v2CardsUploadCreate: (data: {
            subjectID: number;
            variants: {
                brand?: string;
                title?: string;
                description?: string;
                vendorCode: string;
                dimensions?: {
                    length?: number;
                    width?: number;
                    height?: number;
                };
                sizes?: {
                    techSize?: string;
                    wbSize?: string;
                    price?: number;
                    skus?: string[];
                }[];
                characteristics?: {
                    id: number;
                    value: any;
                }[];
            }[];
        }[], params?: RequestParams) => Promise<HttpResponse<ResponseCardCreate, void | ResponseBodyContentError400 | {
            title?: string | undefined;
            detail?: string | undefined;
            code?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
            status?: number | undefined;
            statusText?: string | undefined;
        }>>;
        v2CardsUpdateCreate: (data: {
            nmID: number;
            vendorCode: string;
            brand?: string;
            title?: string;
            description?: string;
            dimensions?: {
                length?: number;
                width?: number;
                height?: number;
            };
            characteristics?: {
                id?: number;
                value?: any;
            }[];
            sizes: {
                chrtID?: number;
                techSize?: string;
                wbSize?: string;
                skus?: string[];
            }[];
        }[], params?: RequestParams) => Promise<HttpResponse<ResponseCardCreate, void | ResponseBodyContentError400 | ResponseBodyContentError403 | {
            title?: string | undefined;
            detail?: string | undefined;
            code?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
            status?: number | undefined;
            statusText?: string | undefined;
        }>>;
        v2CardsUploadAddCreate: (data: {
            imtID?: number;
            cardsToAdd?: {
                brand?: string;
                vendorCode: string;
                title?: string;
                description?: string;
                dimensions?: {
                    length?: number;
                    width?: number;
                    height?: number;
                };
                characteristics?: {
                    id?: number;
                    value?: any;
                }[];
                sizes?: {
                    techSize?: string;
                    wbSize?: string;
                    price?: number;
                    skus?: string[];
                }[];
            }[];
        }, params?: RequestParams) => Promise<HttpResponse<ResponseCardCreate, void | ResponseBodyContentError400 | {
            title?: string | undefined;
            detail?: string | undefined;
            code?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
            status?: number | undefined;
            statusText?: string | undefined;
        }>>;
        v2CardsMoveNmCreate: (data: RequestMoveNmsImtConn | RequestMoveNmsImtDisconn, params?: RequestParams) => Promise<HttpResponse<ResponseCardCreate, string | void | ResponseCardCreate | ResponseIncorrectDate | ResponseContentError1>>;
        v2BarcodesCreate: (data: {
            count?: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: string[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError403>>;
        v2GetCardsListCreate: (data: {
            settings?: {
                sort?: {
                    ascending?: boolean;
                };
                filter?: {
                    withPhoto?: number;
                    textSearch?: string;
                    tagIDs?: number[];
                    allowedCategoriesOnly?: boolean;
                    objectIDs?: number[];
                    brands?: string[];
                    imtID?: number;
                };
                cursor?: {
                    limit?: number;
                };
            };
        }, query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            cards?: {
                nmID?: number | undefined;
                imtID?: number | undefined;
                nmUUID?: string | undefined;
                subjectID?: number | undefined;
                vendorCode?: string | undefined;
                subjectName?: string | undefined;
                brand?: string | undefined;
                title?: string | undefined;
                photos?: {
                    big?: string | undefined;
                    c246x328?: string | undefined;
                    c516x688?: string | undefined;
                    square?: string | undefined;
                    tm?: string | undefined;
                }[] | undefined;
                video?: string | undefined;
                dimensions?: {
                    length?: number | undefined;
                    width?: number | undefined;
                    height?: number | undefined;
                    isValid?: boolean | undefined;
                } | undefined;
                characteristics?: {
                    id?: number | undefined;
                    name?: string | undefined;
                    value?: any;
                }[] | undefined;
                sizes?: {
                    chrtID?: number | undefined;
                    techSize?: string | undefined;
                    wbSize?: string | undefined;
                    skus?: string[] | undefined;
                }[] | undefined;
                tags?: {
                    id?: number | undefined;
                    name?: string | undefined;
                    color?: string | undefined;
                }[] | undefined;
                createdAt?: string | undefined;
                updatedAt?: string | undefined;
            }[] | undefined;
            cursor?: {
                updatedAt?: string | undefined;
                nmID?: number | undefined;
                total?: number | undefined;
            } | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2CardsErrorListList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                object?: string | undefined;
                vendorCode?: string | undefined;
                updateAt?: string | undefined;
                errors?: string[] | undefined;
                objectID?: number | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2CardsLimitsList: (params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                freeLimits?: number | undefined;
                paidLimits?: number | undefined;
            } | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | null | undefined;
        }, void | ResponseBodyContentError403>>;
        v2ObjectParentAllList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                name?: string | undefined;
                id?: number | undefined;
                isVisible?: boolean | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2ObjectAllList: (query?: {
            name?: string;
            limit?: number;
            locale?: string;
            offset?: number;
            parentID?: number;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                subjectID?: number | undefined;
                parentID?: number | undefined;
                subjectName?: string | undefined;
                parentName?: string | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void>>;
        v2ObjectCharcsDetail: (subjectId: number, query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                charcID?: number | undefined;
                subjectName?: string | undefined;
                subjectID?: number | undefined;
                name?: string | undefined;
                required?: boolean | undefined;
                unitName?: string | undefined;
                maxCount?: number | undefined;
                popular?: boolean | undefined;
                charcType?: number | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2DirectoryColorsList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                name?: string | undefined;
                parentName?: string | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2DirectoryKindsList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: string[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2DirectoryCountriesList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                name?: string | undefined;
                fullName?: string | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2DirectorySeasonsList: (query?: {
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: string[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2DirectoryTnvedList: (query: {
            subjectID: number;
            search?: number;
            locale?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                tnved?: string | undefined;
                isKiz?: boolean | undefined;
            }[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2DirectoryVatList: (query: {
            locale: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: string[] | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v3MediaSaveCreate: (data: {
            nmId?: number | undefined;
            data?: string[] | undefined;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: object | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: object | undefined;
        }, void | MediaErrors>>;
        v3MediaFileCreate: (data: {
            uploadfile?: File;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: object | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: object | undefined;
        }, void | MediaErrors>>;
        v2TagsList: (params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                id?: number | undefined;
                color?: string | undefined;
                name?: string | undefined;
            } | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: string | undefined;
        }, void | ResponseBodyContentError403>>;
        v2TagCreate: (data: {
            color?: string;
            name?: string;
        }, params?: RequestParams) => Promise<HttpResponse<ResponseContentError6, void | ResponseBodyContentError400 | ResponseBodyContentError403 | ResponseContentError4 | ResponseContentError6>>;
        v2TagPartialUpdate: (id: number, data: {
            color?: string;
            name?: string;
        }, params?: RequestParams) => Promise<HttpResponse<ResponseContentError4 | ResponseContentError6, void | ResponseBodyContentError400 | ResponseBodyContentError403 | ResponseContentError4>>;
        v2TagDelete: (id: number, params?: RequestParams) => Promise<HttpResponse<ResponseContentError5 | ResponseContentError6, void | ResponseBodyContentError400 | ResponseBodyContentError403 | ResponseContentError5>>;
        v2TagNomenclatureLinkCreate: (data: {
            nmID?: number;
            tagsIDs?: number[];
        }, params?: RequestParams) => Promise<HttpResponse<ResponseContentError6, void | ResponseBodyContentError403 | ResponseContentError4 | ResponseContentError6>>;
        v2CardsDeleteTrashCreate: (data: {
            nmIDs?: number[];
        }[], params?: RequestParams) => Promise<HttpResponse<{
            data?: object | null | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: object | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2CardsRecoverCreate: (data: {
            nmIDs?: number;
        }[], params?: RequestParams) => Promise<HttpResponse<{
            data?: object | null | undefined;
            error?: boolean | undefined;
            errorText?: string | undefined;
            additionalErrors?: object | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
        v2GetCardsTrashCreate: (data: {
            settings?: {
                sort?: {
                    ascending?: boolean;
                };
                cursor?: {
                    limit?: number;
                };
                filter?: {
                    textSearch?: string;
                };
            };
        }, query?: {
            locale?: "ru" | "en" | "zh";
        }, params?: RequestParams) => Promise<HttpResponse<{
            cards?: {
                nmID?: number | undefined;
                vendorCode?: string | undefined;
                subjectID?: string | undefined;
                subjectName?: string | undefined;
                photos?: {
                    big?: string | undefined;
                    c246x328?: string | undefined;
                    c516x688?: string | undefined;
                    square?: string | undefined;
                    tm?: string | undefined;
                }[] | undefined;
                video?: string | undefined;
                sizes?: {
                    chrtID?: number | undefined;
                    techSize?: string | undefined;
                    wbSize?: string | undefined;
                    skus?: string[] | undefined;
                }[] | undefined;
                dimensions?: {
                    length?: number | undefined;
                    width?: number | undefined;
                    height?: number | undefined;
                    isValid?: boolean | undefined;
                } | undefined;
                characteristics?: {
                    id?: number | undefined;
                    name?: string | undefined;
                    value?: string[] | undefined;
                }[] | undefined;
                createdAt?: string | undefined;
                trashedAt?: string | undefined;
            }[] | undefined;
            cursor?: {
                trashedAt?: string | undefined;
                nmID?: number | undefined;
                total?: number | undefined;
            } | undefined;
        }, void | ResponseBodyContentError400 | ResponseBodyContentError403>>;
    };
}
export {};
//# sourceMappingURL=content.d.ts.map