import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { AnnotationsRead } from '../models';
import type { BackupWriteRequest } from '../models';
import type { DatasetWriteRequest } from '../models';
import type { PaginatedProjectReadList } from '../models';
import type { PatchedProjectWriteRequest } from '../models';
import type { ProjectRead } from '../models';
import type { ProjectWriteRequest } from '../models';
import type { RqId } from '../models';
export declare const ProjectsApiAxiosParamCreator: (configuration?: Configuration) => {
    projectsCreate: (projectWriteRequest: ProjectWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsCreateBackup: (xOrganization?: string, cloudStorageId?: number, filename?: string, location?: ProjectsCreateBackupLocationEnum, org?: string, orgId?: number, rqId?: string, backupWriteRequest?: BackupWriteRequest | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsCreateBackupExport: (id: number, cloudStorageId?: number, filename?: string, location?: ProjectsCreateBackupExportLocationEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsCreateDataset: (id: number, cloudStorageId?: number, filename?: string, format?: string, location?: ProjectsCreateDatasetLocationEnum, useDefaultLocation?: boolean, datasetWriteRequest?: DatasetWriteRequest | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsCreateDatasetExport: (format: string, id: number, cloudStorageId?: number, filename?: string, location?: ProjectsCreateDatasetExportLocationEnum, saveImages?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsList: (xOrganization?: string, assignee?: string, filter?: string, name?: string, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, search?: string, sort?: string, status?: ProjectsListStatusEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsPartialUpdate: (id: number, patchedProjectWriteRequest?: PatchedProjectWriteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsRetrieveAnnotations: (format: string, id: number, action?: ProjectsRetrieveAnnotationsActionEnum, cloudStorageId?: number, filename?: string, location?: ProjectsRetrieveAnnotationsLocationEnum, useDefaultLocation?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsRetrieveBackup: (id: number, action?: ProjectsRetrieveBackupActionEnum, cloudStorageId?: number, filename?: string, location?: ProjectsRetrieveBackupLocationEnum, useDefaultLocation?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsRetrieveDataset: (id: number, action?: ProjectsRetrieveDatasetActionEnum, cloudStorageId?: number, filename?: string, format?: string, location?: ProjectsRetrieveDatasetLocationEnum, rqId?: string, useDefaultLocation?: boolean, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    projectsRetrievePreview: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const ProjectsApiFp: (configuration?: Configuration) => {
    projectsCreate(projectWriteRequest: ProjectWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectRead>>;
    projectsCreateBackup(xOrganization?: string, cloudStorageId?: number, filename?: string, location?: ProjectsCreateBackupLocationEnum, org?: string, orgId?: number, rqId?: string, backupWriteRequest?: BackupWriteRequest | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    projectsCreateBackupExport(id: number, cloudStorageId?: number, filename?: string, location?: ProjectsCreateBackupExportLocationEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RqId>>;
    projectsCreateDataset(id: number, cloudStorageId?: number, filename?: string, format?: string, location?: ProjectsCreateDatasetLocationEnum, useDefaultLocation?: boolean, datasetWriteRequest?: DatasetWriteRequest | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RqId>>;
    projectsCreateDatasetExport(format: string, id: number, cloudStorageId?: number, filename?: string, location?: ProjectsCreateDatasetExportLocationEnum, saveImages?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RqId>>;
    projectsDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    projectsList(xOrganization?: string, assignee?: string, filter?: string, name?: string, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, search?: string, sort?: string, status?: ProjectsListStatusEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedProjectReadList>>;
    projectsPartialUpdate(id: number, patchedProjectWriteRequest?: PatchedProjectWriteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectRead>>;
    projectsRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectRead>>;
    projectsRetrieveAnnotations(format: string, id: number, action?: ProjectsRetrieveAnnotationsActionEnum, cloudStorageId?: number, filename?: string, location?: ProjectsRetrieveAnnotationsLocationEnum, useDefaultLocation?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnnotationsRead>>;
    projectsRetrieveBackup(id: number, action?: ProjectsRetrieveBackupActionEnum, cloudStorageId?: number, filename?: string, location?: ProjectsRetrieveBackupLocationEnum, useDefaultLocation?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    projectsRetrieveDataset(id: number, action?: ProjectsRetrieveDatasetActionEnum, cloudStorageId?: number, filename?: string, format?: string, location?: ProjectsRetrieveDatasetLocationEnum, rqId?: string, useDefaultLocation?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>>;
    projectsRetrievePreview(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
};
export declare const ProjectsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    projectsCreate(requestParameters: ProjectsApiProjectsCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectRead>;
    projectsCreateBackup(requestParameters?: ProjectsApiProjectsCreateBackupRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    projectsCreateBackupExport(requestParameters: ProjectsApiProjectsCreateBackupExportRequest, options?: RawAxiosRequestConfig): AxiosPromise<RqId>;
    projectsCreateDataset(requestParameters: ProjectsApiProjectsCreateDatasetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RqId>;
    projectsCreateDatasetExport(requestParameters: ProjectsApiProjectsCreateDatasetExportRequest, options?: RawAxiosRequestConfig): AxiosPromise<RqId>;
    projectsDestroy(requestParameters: ProjectsApiProjectsDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    projectsList(requestParameters?: ProjectsApiProjectsListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedProjectReadList>;
    projectsPartialUpdate(requestParameters: ProjectsApiProjectsPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectRead>;
    projectsRetrieve(requestParameters: ProjectsApiProjectsRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProjectRead>;
    projectsRetrieveAnnotations(requestParameters: ProjectsApiProjectsRetrieveAnnotationsRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnnotationsRead>;
    projectsRetrieveBackup(requestParameters: ProjectsApiProjectsRetrieveBackupRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    projectsRetrieveDataset(requestParameters: ProjectsApiProjectsRetrieveDatasetRequest, options?: RawAxiosRequestConfig): AxiosPromise<File>;
    projectsRetrievePreview(requestParameters: ProjectsApiProjectsRetrievePreviewRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
};
export interface ProjectsApiProjectsCreateRequest {
    readonly projectWriteRequest: ProjectWriteRequest;
    readonly xOrganization?: string;
    readonly org?: string;
    readonly orgId?: number;
}
export interface ProjectsApiProjectsCreateBackupRequest {
    readonly xOrganization?: string;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly location?: ProjectsCreateBackupLocationEnum;
    readonly org?: string;
    readonly orgId?: number;
    readonly rqId?: string;
    readonly backupWriteRequest?: BackupWriteRequest | null;
}
export interface ProjectsApiProjectsCreateBackupExportRequest {
    readonly id: number;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly location?: ProjectsCreateBackupExportLocationEnum;
}
export interface ProjectsApiProjectsCreateDatasetRequest {
    readonly id: number;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly format?: string;
    readonly location?: ProjectsCreateDatasetLocationEnum;
    readonly useDefaultLocation?: boolean;
    readonly datasetWriteRequest?: DatasetWriteRequest | null;
}
export interface ProjectsApiProjectsCreateDatasetExportRequest {
    readonly format: string;
    readonly id: number;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly location?: ProjectsCreateDatasetExportLocationEnum;
    readonly saveImages?: boolean;
}
export interface ProjectsApiProjectsDestroyRequest {
    readonly id: number;
}
export interface ProjectsApiProjectsListRequest {
    readonly xOrganization?: string;
    readonly assignee?: string;
    readonly filter?: string;
    readonly name?: string;
    readonly org?: string;
    readonly orgId?: number;
    readonly owner?: string;
    readonly page?: number;
    readonly pageSize?: number;
    readonly search?: string;
    readonly sort?: string;
    readonly status?: ProjectsListStatusEnum;
}
export interface ProjectsApiProjectsPartialUpdateRequest {
    readonly id: number;
    readonly patchedProjectWriteRequest?: PatchedProjectWriteRequest;
}
export interface ProjectsApiProjectsRetrieveRequest {
    readonly id: number;
}
export interface ProjectsApiProjectsRetrieveAnnotationsRequest {
    readonly format: string;
    readonly id: number;
    readonly action?: ProjectsRetrieveAnnotationsActionEnum;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly location?: ProjectsRetrieveAnnotationsLocationEnum;
    readonly useDefaultLocation?: boolean;
}
export interface ProjectsApiProjectsRetrieveBackupRequest {
    readonly id: number;
    readonly action?: ProjectsRetrieveBackupActionEnum;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly location?: ProjectsRetrieveBackupLocationEnum;
    readonly useDefaultLocation?: boolean;
}
export interface ProjectsApiProjectsRetrieveDatasetRequest {
    readonly id: number;
    readonly action?: ProjectsRetrieveDatasetActionEnum;
    readonly cloudStorageId?: number;
    readonly filename?: string;
    readonly format?: string;
    readonly location?: ProjectsRetrieveDatasetLocationEnum;
    readonly rqId?: string;
    readonly useDefaultLocation?: boolean;
}
export interface ProjectsApiProjectsRetrievePreviewRequest {
    readonly id: number;
}
export declare class ProjectsApi extends BaseAPI {
    projectsCreate(requestParameters: ProjectsApiProjectsCreateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectRead, any>>;
    projectsCreateBackup(requestParameters?: ProjectsApiProjectsCreateBackupRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    projectsCreateBackupExport(requestParameters: ProjectsApiProjectsCreateBackupExportRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RqId, any>>;
    projectsCreateDataset(requestParameters: ProjectsApiProjectsCreateDatasetRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RqId, any>>;
    projectsCreateDatasetExport(requestParameters: ProjectsApiProjectsCreateDatasetExportRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<RqId, any>>;
    projectsDestroy(requestParameters: ProjectsApiProjectsDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    projectsList(requestParameters?: ProjectsApiProjectsListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedProjectReadList, any>>;
    projectsPartialUpdate(requestParameters: ProjectsApiProjectsPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectRead, any>>;
    projectsRetrieve(requestParameters: ProjectsApiProjectsRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ProjectRead, any>>;
    projectsRetrieveAnnotations(requestParameters: ProjectsApiProjectsRetrieveAnnotationsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AnnotationsRead, any>>;
    projectsRetrieveBackup(requestParameters: ProjectsApiProjectsRetrieveBackupRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    projectsRetrieveDataset(requestParameters: ProjectsApiProjectsRetrieveDatasetRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<File, any>>;
    projectsRetrievePreview(requestParameters: ProjectsApiProjectsRetrievePreviewRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
}
export declare const ProjectsCreateBackupLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsCreateBackupLocationEnum = typeof ProjectsCreateBackupLocationEnum[keyof typeof ProjectsCreateBackupLocationEnum];
export declare const ProjectsCreateBackupExportLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsCreateBackupExportLocationEnum = typeof ProjectsCreateBackupExportLocationEnum[keyof typeof ProjectsCreateBackupExportLocationEnum];
export declare const ProjectsCreateDatasetLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsCreateDatasetLocationEnum = typeof ProjectsCreateDatasetLocationEnum[keyof typeof ProjectsCreateDatasetLocationEnum];
export declare const ProjectsCreateDatasetExportLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsCreateDatasetExportLocationEnum = typeof ProjectsCreateDatasetExportLocationEnum[keyof typeof ProjectsCreateDatasetExportLocationEnum];
export declare const ProjectsListStatusEnum: {
    readonly Annotation: "annotation";
    readonly Validation: "validation";
    readonly Completed: "completed";
};
export type ProjectsListStatusEnum = typeof ProjectsListStatusEnum[keyof typeof ProjectsListStatusEnum];
export declare const ProjectsRetrieveAnnotationsActionEnum: {
    readonly Download: "download";
};
export type ProjectsRetrieveAnnotationsActionEnum = typeof ProjectsRetrieveAnnotationsActionEnum[keyof typeof ProjectsRetrieveAnnotationsActionEnum];
export declare const ProjectsRetrieveAnnotationsLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsRetrieveAnnotationsLocationEnum = typeof ProjectsRetrieveAnnotationsLocationEnum[keyof typeof ProjectsRetrieveAnnotationsLocationEnum];
export declare const ProjectsRetrieveBackupActionEnum: {
    readonly Download: "download";
};
export type ProjectsRetrieveBackupActionEnum = typeof ProjectsRetrieveBackupActionEnum[keyof typeof ProjectsRetrieveBackupActionEnum];
export declare const ProjectsRetrieveBackupLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsRetrieveBackupLocationEnum = typeof ProjectsRetrieveBackupLocationEnum[keyof typeof ProjectsRetrieveBackupLocationEnum];
export declare const ProjectsRetrieveDatasetActionEnum: {
    readonly Download: "download";
    readonly ImportStatus: "import_status";
};
export type ProjectsRetrieveDatasetActionEnum = typeof ProjectsRetrieveDatasetActionEnum[keyof typeof ProjectsRetrieveDatasetActionEnum];
export declare const ProjectsRetrieveDatasetLocationEnum: {
    readonly CloudStorage: "cloud_storage";
    readonly Local: "local";
};
export type ProjectsRetrieveDatasetLocationEnum = typeof ProjectsRetrieveDatasetLocationEnum[keyof typeof ProjectsRetrieveDatasetLocationEnum];
