export interface ExciseReportRequest {
    countries?: ("AM" | "BY" | "KG" | "KZ" | "RU" | "UZ")[];
}
export interface ExciseReportResponse {
    response?: ModelsExciseReportResponse;
}
export interface ModelsExciseReportResponse {
    data?: ModelsExciseReportResponseData;
}
export type ModelsExciseReportResponseData = {
    name?: string;
    price?: number;
    currency_name_short?: string;
    excise_short?: string;
    barcode?: string;
    nm_id?: number;
    operation_type_id?: number;
    fiscal_doc_number?: number;
    fiscal_dt?: string;
    fiscal_drive_number?: string;
    rid?: number;
    srid?: string;
}[];
export type ResponsePaidStorage = {
    date?: string;
    logWarehouseCoef?: number;
    officeId?: number;
    warehouse?: string;
    warehouseCoef?: number;
    giId?: number;
    chrtId?: number;
    size?: string;
    barcode?: string;
    subject?: string;
    brand?: string;
    vendorCode?: string;
    nmId?: number;
    volume?: number;
    calcType?: string;
    warehousePrice?: number;
    barcodesCount?: number;
    palletPlaceCode?: number;
    palletCount?: number;
    originalDate?: string;
    loyaltyDiscount?: number;
    tariffFixDate?: string;
    tariffLowerDate?: string;
}[];
export interface GetTasksResponse {
    data?: GetTasksResponseData;
}
export interface GetTasksResponseData {
    id?: string;
    status?: string;
}
export interface CreateTaskResponse {
    data?: CreateTaskResponseData;
}
export interface CreateTaskResponseData {
    taskId?: string;
}
export interface ErrorResponse {
    errors: string[];
}
export interface ResponseError {
    data?: object[];
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface Response429 {
    title?: string;
    detail?: string;
    code?: string;
    requestId?: string;
    origin?: string;
    status?: number;
    statusText?: string;
}
export interface Response429Daily {
    data?: object[];
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface NmReportDetailRequest {
    brandNames?: string[];
    objectIDs?: number[];
    tagIDs?: number[];
    nmIDs?: number[];
    timezone?: string;
    period: {
        begin?: string;
        end?: string;
    };
    orderBy?: {
        field?: string;
        mode?: string;
    };
    page: number;
}
export interface NmReportGroupedRequest {
    objectIDs?: number[];
    brandNames?: string[];
    tagIDs?: number[];
    timezone?: string;
    period: {
        begin?: string;
        end?: string;
    };
    orderBy?: {
        field?: string;
        mode?: string;
    };
    page: number;
}
export interface NmReportDetailHistoryRequest {
    nmIDs: number[];
    period: {
        begin?: string;
        end?: string;
    };
    timezone?: string;
    aggregationLevel?: string;
}
export interface NmReportGroupedHistoryRequest {
    objectIDs?: number[];
    brandNames?: string[];
    tagIDs?: number[];
    period: {
        begin?: string;
        end?: string;
    };
    timezone?: string;
    aggregationLevel?: string;
}
export interface NmReportDetailResponse {
    data?: {
        page?: number;
        isNextPage?: boolean;
        cards?: {
            nmID?: number;
            vendorCode?: string;
            brandName?: string;
            tags?: {
                id?: number;
                name?: string;
            }[];
            object?: {
                id?: number;
                name?: string;
            };
            statistics?: {
                selectedPeriod?: {
                    begin?: string;
                    end?: string;
                    openCardCount?: number;
                    addToCartCount?: number;
                    ordersCount?: number;
                    ordersSumRub?: number;
                    buyoutsCount?: number;
                    buyoutsSumRub?: number;
                    cancelCount?: number;
                    cancelSumRub?: number;
                    avgPriceRub?: number;
                    avgOrdersCountPerDay?: number;
                    conversions?: {
                        addToCartPercent?: number;
                        cartToOrderPercent?: number;
                        buyoutsPercent?: number;
                    };
                };
                previousPeriod?: {
                    begin?: string;
                    end?: string;
                    openCardCount?: number;
                    addToCartCount?: number;
                    ordersCount?: number;
                    ordersSumRub?: number;
                    buyoutsCount?: number;
                    buyoutsSumRub?: number;
                    cancelCount?: number;
                    cancelSumRub?: number;
                    avgPriceRub?: number;
                    avgOrdersCountPerDay?: number;
                    conversions?: {
                        addToCartPercent?: number;
                        cartToOrderPercent?: number;
                        buyoutsPercent?: number;
                    };
                };
                periodComparison?: {
                    openCardDynamics?: number;
                    addToCartDynamics?: number;
                    ordersCountDynamics?: number;
                    ordersSumRubDynamics?: number;
                    buyoutsCountDynamics?: number;
                    buyoutsSumRubDynamics?: number;
                    cancelCountDynamics?: number;
                    cancelSumRubDynamics?: number;
                    avgOrdersCountPerDayDynamics?: number;
                    avgPriceRubDynamics?: number;
                    conversions?: {
                        addToCartPercent?: number;
                        cartToOrderPercent?: number;
                        buyoutsPercent?: number;
                    };
                };
            };
            stocks?: {
                stocksMp?: number;
                stocksWb?: number;
            };
        }[];
    };
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface NmReportGroupedResponse {
    data?: {
        page?: number;
        isNextPage?: boolean;
        groups?: {
            brandName?: string;
            tags?: {
                id?: number;
                name?: string;
            }[];
            object?: {
                id?: number;
                name?: string;
            };
            statistics?: {
                selectedPeriod?: {
                    begin?: string;
                    end?: string;
                    openCardCount?: number;
                    addToCartCount?: number;
                    ordersCount?: number;
                    ordersSumRub?: number;
                    buyoutsCount?: number;
                    buyoutsSumRub?: number;
                    cancelCount?: number;
                    cancelSumRub?: number;
                    avgPriceRub?: number;
                    avgOrdersCountPerDay?: number;
                    conversions?: {
                        addToCartPercent?: number;
                        cartToOrderPercent?: number;
                        buyoutsPercent?: number;
                    };
                };
                previousPeriod?: {
                    begin?: string;
                    end?: string;
                    openCardCount?: number;
                    addToCartCount?: number;
                    ordersCount?: number;
                    ordersSumRub?: number;
                    buyoutsCount?: number;
                    buyoutsSumRub?: number;
                    cancelCount?: number;
                    cancelSumRub?: number;
                    avgPriceRub?: number;
                    avgOrdersCountPerDay?: number;
                    conversions?: {
                        addToCartPercent?: number;
                        cartToOrderPercent?: number;
                        buyoutsPercent?: number;
                    };
                };
                periodComparison?: {
                    openCardDynamics?: number;
                    addToCartDynamics?: number;
                    ordersCountDynamics?: number;
                    ordersSumRubDynamics?: number;
                    buyoutsCountDynamics?: number;
                    buyoutsSumRubDynamics?: number;
                    cancelCountDynamics?: number;
                    cancelSumRubDynamics?: number;
                    avgOrdersCountPerDayDynamics?: number;
                    avgPriceRubDynamics?: number;
                    conversions?: {
                        addToCartPercent?: number;
                        cartToOrderPercent?: number;
                        buyoutsPercent?: number;
                    };
                };
            };
        }[];
    };
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface NmReportDetailHistoryResponse {
    data?: {
        nmID?: number;
        imtName?: string;
        vendorCode?: string;
        history?: {
            dt?: string;
            openCardCount?: number;
            addToCartCount?: number;
            ordersCount?: number;
            ordersSumRub?: number;
            buyoutsCount?: number;
            buyoutsSumRub?: number;
            buyoutPercent?: number;
            addToCartConversion?: number;
            cartToOrderConversion?: number;
        }[];
    }[];
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface NmReportGroupedHistoryResponse {
    data?: {
        object?: {
            id?: number;
            name?: string;
        };
        brandName?: string;
        tag?: {
            id?: number;
            name?: string;
        };
        history?: {
            dt?: string;
            openCardCount?: number;
            addToCartCount?: number;
            ordersCount?: number;
            ordersSumRub?: number;
            buyoutsCount?: number;
            buyoutsSumRub?: number;
            buyoutPercent?: number;
            addToCartConversion?: number;
            cartToOrderConversion?: number;
        }[];
    }[];
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface BySelectedNmIDReq {
    id: string;
    reportType: string;
    userReportName?: string;
    params?: {
        nmIDs?: number[];
        subjectIDs?: number[];
        brandNames?: string[];
        tagIDs?: number[];
        startDate: string;
        endDate: string;
        timezone?: string;
        aggregationLevel?: "day" | "week" | "month";
        skipDeletedNm?: boolean;
    };
}
export interface GroupedByObjectsBrandsAndTagsReq {
    id: string;
    reportType: string;
    userReportName?: string;
    params?: {
        subjectIDs?: number[];
        brandNames?: string[];
        tagIDs?: number[];
        startDate: string;
        endDate: string;
        timezone?: string;
        aggregationLevel?: string;
        skipDeletedNm?: boolean;
    };
}
export interface NmReportRetryReportRequest {
    downloadId?: string;
}
export interface NmReportCreateReportResponse {
    data?: string;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface NmReportGetReportsResponse {
    data?: {
        id?: string;
        createdAt?: string;
        status?: string;
        name?: string;
        size?: number;
        startDate?: string;
        endDate?: string;
    }[];
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface NmReportRetryReportResponse {
    data?: string;
    error?: boolean;
    errorText?: string;
    additionalErrors?: {
        field?: string;
        description?: string;
    }[];
}
export interface ErrorInternalResponse {
    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> {
    api: {
        v2NmReportDetailCreate: (data: NmReportDetailRequest, params?: RequestParams) => Promise<HttpResponse<NmReportDetailResponse, void | ResponseError>>;
        v2NmReportGroupedCreate: (data: NmReportGroupedRequest, params?: RequestParams) => Promise<HttpResponse<NmReportGroupedResponse, void | ResponseError>>;
        v2NmReportDetailHistoryCreate: (data: NmReportDetailHistoryRequest, params?: RequestParams) => Promise<HttpResponse<NmReportDetailHistoryResponse, void | ResponseError>>;
        v2NmReportGroupedHistoryCreate: (data: NmReportGroupedHistoryRequest, params?: RequestParams) => Promise<HttpResponse<NmReportGroupedHistoryResponse, void | ResponseError>>;
        v2NmReportDownloadsCreate: (data: BySelectedNmIDReq | GroupedByObjectsBrandsAndTagsReq, params?: RequestParams) => Promise<HttpResponse<NmReportCreateReportResponse, void | ResponseError>>;
        v2NmReportDownloadsList: (query?: {
            "filter[downloadIds]"?: string[];
        }, params?: RequestParams) => Promise<HttpResponse<NmReportGetReportsResponse, void | ResponseError>>;
        v2NmReportDownloadsRetryCreate: (data: NmReportRetryReportRequest, params?: RequestParams) => Promise<HttpResponse<NmReportRetryReportResponse, void | ResponseError>>;
        v2NmReportDownloadsFileDetail: (downloadId: string, params?: RequestParams) => Promise<HttpResponse<File, void | ResponseError | Response429 | Response429Daily>>;
        v1WarehouseRemainsList: (query?: {
            locale?: string;
            groupByBrand?: boolean;
            groupBySubject?: boolean;
            groupBySa?: boolean;
            groupByNm?: boolean;
            groupByBarcode?: boolean;
            groupBySize?: boolean;
            filterPics?: number;
            filterVolume?: number;
        }, params?: RequestParams) => Promise<HttpResponse<CreateTaskResponse, void | {
            title?: string | undefined;
            status?: number | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
        v1WarehouseRemainsTasksStatusDetail: (taskId: string, params?: RequestParams) => Promise<HttpResponse<GetTasksResponse, void | {
            title?: string | undefined;
            status?: number | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
        v1WarehouseRemainsTasksDownloadDetail: (taskId: string, params?: RequestParams) => Promise<HttpResponse<{
            brand?: string | undefined;
            subjectName?: string | undefined;
            vendorCode?: string | undefined;
            nmId?: number | undefined;
            barcode?: string | undefined;
            techSize?: string | undefined;
            volume?: number | undefined;
            inWayToClient?: number | undefined;
            inWayFromClient?: number | undefined;
            quantityWarehousesFull?: number | undefined;
            warehouses?: {
                warehouseName?: string | undefined;
                quantity?: number | undefined;
            }[] | undefined;
        }[], void | {
            title?: string | undefined;
            status?: number | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
        v1AnalyticsExciseReportCreate: (query: {
            dateFrom: string;
            dateTo: string;
        }, data?: ExciseReportRequest, params?: RequestParams) => Promise<HttpResponse<ExciseReportResponse, string | void>>;
        v1PaidStorageList: (query: {
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<CreateTaskResponse, void | ErrorResponse>>;
        v1PaidStorageTasksStatusDetail: (taskId: string, params?: RequestParams) => Promise<HttpResponse<GetTasksResponse, string | void>>;
        v1PaidStorageTasksDownloadDetail: (taskId: string, params?: RequestParams) => Promise<HttpResponse<ResponsePaidStorage, string | void>>;
        v1AnalyticsAcceptanceReportList: (query: {
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                count?: number | undefined;
                giCreateDate?: string | undefined;
                incomeId?: number | undefined;
                nmID?: number | undefined;
                shkСreateDate?: string | undefined;
                subjectName?: string | undefined;
                sum?: number | undefined;
                total?: number | undefined;
            }[] | undefined;
        }, void | ErrorInternalResponse | {
            errors?: string[] | undefined;
        }>>;
        v1AnalyticsAntifraudDetailsList: (query?: {
            date?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            details?: {
                nmID?: number | undefined;
                sum?: number | undefined;
                currency?: string | undefined;
                dateFrom?: string | undefined;
                dateTo?: string | undefined;
            }[] | undefined;
        }, void | ErrorResponse>>;
        v1AnalyticsIncorrectAttachmentsList: (query: {
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                amount?: number | undefined;
                date?: string | undefined;
                lostReason?: string | undefined;
                nmID?: number | undefined;
                photoUrl?: string | undefined;
                shkID?: number | undefined;
            }[] | undefined;
        }, void | {
            errors?: string[] | undefined;
        }>>;
        v1AnalyticsStorageCoefficientList: (query?: {
            date?: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                actualHeight?: number | undefined;
                actualLength?: number | undefined;
                actualVolume?: number | undefined;
                actualWidth?: number | undefined;
                date?: string | undefined;
                dimensionDifference?: number | undefined;
                height?: number | undefined;
                length?: number | undefined;
                logWarehouseCoef?: number | undefined;
                nmID?: number | undefined;
                photoUrls?: string | undefined;
                title?: string | undefined;
                volume?: number | undefined;
                width?: number | undefined;
            }[] | undefined;
        }, void | ErrorInternalResponse | {
            errors?: string[] | undefined;
        }>>;
        v1AnalyticsGoodsLabelingList: (query: {
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                amount?: number | undefined;
                date?: string | undefined;
                incomeId?: number | undefined;
                nmID?: number | undefined;
                photoUrls?: string[] | undefined;
                shkID?: number | undefined;
                sku?: string | undefined;
            }[] | undefined;
        }, void | {
            errors?: string[] | undefined;
        }>>;
        v1AnalyticsCharacteristicsChangeList: (query: {
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                amount?: number | undefined;
                date?: string | undefined;
                newBarcode?: string | undefined;
                newColor?: string | undefined;
                newSa?: string | undefined;
                newShkID?: number | undefined;
                newSize?: string | undefined;
                nmID?: number | undefined;
                oldBarcode?: string | undefined;
                oldColor?: string | undefined;
                oldSa?: string | undefined;
                oldShkID?: number | undefined;
                oldSize?: string | undefined;
            }[] | undefined;
        }, void | {
            title?: string | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
        v1AnalyticsRegionSaleList: (query: {
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                cityName?: string | undefined;
                countryName?: string | undefined;
                foName?: string | undefined;
                nmID?: number | undefined;
                regionName?: string | undefined;
                sa?: string | undefined;
                saleInvoiceCostPrice?: number | undefined;
                saleInvoiceCostPricePerc?: number | undefined;
                saleItemInvoiceQty?: number | undefined;
            }[] | undefined;
        }, void | {
            title?: string | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
        v1AnalyticsBrandShareBrandsList: (params?: RequestParams) => Promise<HttpResponse<{
            data?: string[] | undefined;
        }, void>>;
        v1AnalyticsBrandShareParentSubjectsList: (query: {
            locale?: string;
            brand: string;
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            data?: {
                parentId?: number | undefined;
                parentName?: string | undefined;
            }[] | undefined;
        }, void | {
            title?: string | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
        v1AnalyticsBrandShareList: (query: {
            parentId: number;
            brand: string;
            dateFrom: string;
            dateTo: string;
        }, params?: RequestParams) => Promise<HttpResponse<{
            report?: {
                applyDate?: string | undefined;
                brandRating?: number | undefined;
                pricePercent?: number | undefined;
                qtyPercent?: number | undefined;
            }[] | undefined;
        }, void | {
            title?: string | undefined;
            detail?: string | undefined;
            requestId?: string | undefined;
            origin?: string | undefined;
        }>>;
    };
}
export {};
//# sourceMappingURL=analytics.d.ts.map