import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { Label } from '../models';
import type { PaginatedLabelList } from '../models';
import type { PatchedLabelRequest } from '../models';
export declare const LabelsApiAxiosParamCreator: (configuration?: Configuration) => {
    labelsDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    labelsList: (xOrganization?: string, color?: string, filter?: string, jobId?: number, name?: string, org?: string, orgId?: number, page?: number, pageSize?: number, parent?: string, parentId?: number, projectId?: number, search?: string, sort?: string, taskId?: number, type?: LabelsListTypeEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    labelsPartialUpdate: (id: number, patchedLabelRequest?: PatchedLabelRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    labelsRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const LabelsApiFp: (configuration?: Configuration) => {
    labelsDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    labelsList(xOrganization?: string, color?: string, filter?: string, jobId?: number, name?: string, org?: string, orgId?: number, page?: number, pageSize?: number, parent?: string, parentId?: number, projectId?: number, search?: string, sort?: string, taskId?: number, type?: LabelsListTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedLabelList>>;
    labelsPartialUpdate(id: number, patchedLabelRequest?: PatchedLabelRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>>;
    labelsRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>>;
};
export declare const LabelsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    labelsDestroy(requestParameters: LabelsApiLabelsDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    labelsList(requestParameters?: LabelsApiLabelsListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedLabelList>;
    labelsPartialUpdate(requestParameters: LabelsApiLabelsPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<Label>;
    labelsRetrieve(requestParameters: LabelsApiLabelsRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<Label>;
};
export interface LabelsApiLabelsDestroyRequest {
    readonly id: number;
}
export interface LabelsApiLabelsListRequest {
    readonly xOrganization?: string;
    readonly color?: string;
    readonly filter?: string;
    readonly jobId?: number;
    readonly name?: string;
    readonly org?: string;
    readonly orgId?: number;
    readonly page?: number;
    readonly pageSize?: number;
    readonly parent?: string;
    readonly parentId?: number;
    readonly projectId?: number;
    readonly search?: string;
    readonly sort?: string;
    readonly taskId?: number;
    readonly type?: LabelsListTypeEnum;
}
export interface LabelsApiLabelsPartialUpdateRequest {
    readonly id: number;
    readonly patchedLabelRequest?: PatchedLabelRequest;
}
export interface LabelsApiLabelsRetrieveRequest {
    readonly id: number;
}
export declare class LabelsApi extends BaseAPI {
    labelsDestroy(requestParameters: LabelsApiLabelsDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    labelsList(requestParameters?: LabelsApiLabelsListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedLabelList, any>>;
    labelsPartialUpdate(requestParameters: LabelsApiLabelsPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Label, any>>;
    labelsRetrieve(requestParameters: LabelsApiLabelsRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Label, any>>;
}
export declare const LabelsListTypeEnum: {
    readonly Any: "any";
    readonly Cuboid: "cuboid";
    readonly Ellipse: "ellipse";
    readonly Mask: "mask";
    readonly Points: "points";
    readonly Polygon: "polygon";
    readonly Polyline: "polyline";
    readonly Rectangle: "rectangle";
    readonly Skeleton: "skeleton";
    readonly Tag: "tag";
};
export type LabelsListTypeEnum = typeof LabelsListTypeEnum[keyof typeof LabelsListTypeEnum];
