import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { PaginatedRequestList } from '../models';
import type { Request } from '../models';
export declare const RequestsApiAxiosParamCreator: (configuration?: Configuration) => {
    requestsCreateCancel: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    requestsList: (action?: RequestsListActionEnum, filter?: string, format?: string, jobId?: number, org?: string, page?: number, pageSize?: number, projectId?: number, sort?: string, status?: RequestsListStatusEnum, subresource?: RequestsListSubresourceEnum, target?: RequestsListTargetEnum, taskId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    requestsRetrieve: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const RequestsApiFp: (configuration?: Configuration) => {
    requestsCreateCancel(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    requestsList(action?: RequestsListActionEnum, filter?: string, format?: string, jobId?: number, org?: string, page?: number, pageSize?: number, projectId?: number, sort?: string, status?: RequestsListStatusEnum, subresource?: RequestsListSubresourceEnum, target?: RequestsListTargetEnum, taskId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedRequestList>>;
    requestsRetrieve(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Request>>;
};
export declare const RequestsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    requestsCreateCancel(requestParameters: RequestsApiRequestsCreateCancelRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    requestsList(requestParameters?: RequestsApiRequestsListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedRequestList>;
    requestsRetrieve(requestParameters: RequestsApiRequestsRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<Request>;
};
export interface RequestsApiRequestsCreateCancelRequest {
    readonly id: string;
}
export interface RequestsApiRequestsListRequest {
    readonly action?: RequestsListActionEnum;
    readonly filter?: string;
    readonly format?: string;
    readonly jobId?: number;
    readonly org?: string;
    readonly page?: number;
    readonly pageSize?: number;
    readonly projectId?: number;
    readonly sort?: string;
    readonly status?: RequestsListStatusEnum;
    readonly subresource?: RequestsListSubresourceEnum;
    readonly target?: RequestsListTargetEnum;
    readonly taskId?: number;
}
export interface RequestsApiRequestsRetrieveRequest {
    readonly id: string;
}
export declare class RequestsApi extends BaseAPI {
    requestsCreateCancel(requestParameters: RequestsApiRequestsCreateCancelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    requestsList(requestParameters?: RequestsApiRequestsListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedRequestList, any>>;
    requestsRetrieve(requestParameters: RequestsApiRequestsRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<Request, any>>;
}
export declare const RequestsListActionEnum: {
    readonly Autoannotate: "autoannotate";
    readonly Create: "create";
    readonly Import: "import";
    readonly Export: "export";
};
export type RequestsListActionEnum = typeof RequestsListActionEnum[keyof typeof RequestsListActionEnum];
export declare const RequestsListStatusEnum: {
    readonly Queued: "queued";
    readonly Started: "started";
    readonly Failed: "failed";
    readonly Finished: "finished";
};
export type RequestsListStatusEnum = typeof RequestsListStatusEnum[keyof typeof RequestsListStatusEnum];
export declare const RequestsListSubresourceEnum: {
    readonly Annotations: "annotations";
    readonly Dataset: "dataset";
    readonly Backup: "backup";
};
export type RequestsListSubresourceEnum = typeof RequestsListSubresourceEnum[keyof typeof RequestsListSubresourceEnum];
export declare const RequestsListTargetEnum: {
    readonly Project: "project";
    readonly Task: "task";
    readonly Job: "job";
};
export type RequestsListTargetEnum = typeof RequestsListTargetEnum[keyof typeof RequestsListTargetEnum];
