import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CloudStorageContent } from '../models';
import type { CloudStorageRead } from '../models';
import type { CloudStorageWriteRequest } from '../models';
import type { PaginatedCloudStorageReadList } from '../models';
import type { PatchedCloudStorageWriteRequest } from '../models';
export declare const CloudstoragesApiAxiosParamCreator: (configuration?: Configuration) => {
    cloudstoragesCreate: (cloudStorageWriteRequest: CloudStorageWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesDestroy: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesList: (xOrganization?: string, credentialsType?: CloudstoragesListCredentialsTypeEnum, filter?: string, name?: string, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, providerType?: CloudstoragesListProviderTypeEnum, resource?: string, search?: string, sort?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesPartialUpdate: (id: number, patchedCloudStorageWriteRequest?: PatchedCloudStorageWriteRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesRetrieve: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesRetrieveActions: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesRetrieveContentV2: (id: number, manifestPath?: string, nextToken?: string, pageSize?: number, prefix?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesRetrievePreview: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    cloudstoragesRetrieveStatus: (id: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
export declare const CloudstoragesApiFp: (configuration?: Configuration) => {
    cloudstoragesCreate(cloudStorageWriteRequest: CloudStorageWriteRequest, xOrganization?: string, org?: string, orgId?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudStorageRead>>;
    cloudstoragesDestroy(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    cloudstoragesList(xOrganization?: string, credentialsType?: CloudstoragesListCredentialsTypeEnum, filter?: string, name?: string, org?: string, orgId?: number, owner?: string, page?: number, pageSize?: number, providerType?: CloudstoragesListProviderTypeEnum, resource?: string, search?: string, sort?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedCloudStorageReadList>>;
    cloudstoragesPartialUpdate(id: number, patchedCloudStorageWriteRequest?: PatchedCloudStorageWriteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudStorageRead>>;
    cloudstoragesRetrieve(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudStorageRead>>;
    cloudstoragesRetrieveActions(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    cloudstoragesRetrieveContentV2(id: number, manifestPath?: string, nextToken?: string, pageSize?: number, prefix?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudStorageContent>>;
    cloudstoragesRetrievePreview(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    cloudstoragesRetrieveStatus(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
};
export declare const CloudstoragesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    cloudstoragesCreate(requestParameters: CloudstoragesApiCloudstoragesCreateRequest, options?: RawAxiosRequestConfig): AxiosPromise<CloudStorageRead>;
    cloudstoragesDestroy(requestParameters: CloudstoragesApiCloudstoragesDestroyRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    cloudstoragesList(requestParameters?: CloudstoragesApiCloudstoragesListRequest, options?: RawAxiosRequestConfig): AxiosPromise<PaginatedCloudStorageReadList>;
    cloudstoragesPartialUpdate(requestParameters: CloudstoragesApiCloudstoragesPartialUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise<CloudStorageRead>;
    cloudstoragesRetrieve(requestParameters: CloudstoragesApiCloudstoragesRetrieveRequest, options?: RawAxiosRequestConfig): AxiosPromise<CloudStorageRead>;
    cloudstoragesRetrieveActions(requestParameters: CloudstoragesApiCloudstoragesRetrieveActionsRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;
    cloudstoragesRetrieveContentV2(requestParameters: CloudstoragesApiCloudstoragesRetrieveContentV2Request, options?: RawAxiosRequestConfig): AxiosPromise<CloudStorageContent>;
    cloudstoragesRetrievePreview(requestParameters: CloudstoragesApiCloudstoragesRetrievePreviewRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    cloudstoragesRetrieveStatus(requestParameters: CloudstoragesApiCloudstoragesRetrieveStatusRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;
};
export interface CloudstoragesApiCloudstoragesCreateRequest {
    readonly cloudStorageWriteRequest: CloudStorageWriteRequest;
    readonly xOrganization?: string;
    readonly org?: string;
    readonly orgId?: number;
}
export interface CloudstoragesApiCloudstoragesDestroyRequest {
    readonly id: number;
}
export interface CloudstoragesApiCloudstoragesListRequest {
    readonly xOrganization?: string;
    readonly credentialsType?: CloudstoragesListCredentialsTypeEnum;
    readonly filter?: string;
    readonly name?: string;
    readonly org?: string;
    readonly orgId?: number;
    readonly owner?: string;
    readonly page?: number;
    readonly pageSize?: number;
    readonly providerType?: CloudstoragesListProviderTypeEnum;
    readonly resource?: string;
    readonly search?: string;
    readonly sort?: string;
}
export interface CloudstoragesApiCloudstoragesPartialUpdateRequest {
    readonly id: number;
    readonly patchedCloudStorageWriteRequest?: PatchedCloudStorageWriteRequest;
}
export interface CloudstoragesApiCloudstoragesRetrieveRequest {
    readonly id: number;
}
export interface CloudstoragesApiCloudstoragesRetrieveActionsRequest {
    readonly id: number;
}
export interface CloudstoragesApiCloudstoragesRetrieveContentV2Request {
    readonly id: number;
    readonly manifestPath?: string;
    readonly nextToken?: string;
    readonly pageSize?: number;
    readonly prefix?: string;
}
export interface CloudstoragesApiCloudstoragesRetrievePreviewRequest {
    readonly id: number;
}
export interface CloudstoragesApiCloudstoragesRetrieveStatusRequest {
    readonly id: number;
}
export declare class CloudstoragesApi extends BaseAPI {
    cloudstoragesCreate(requestParameters: CloudstoragesApiCloudstoragesCreateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CloudStorageRead, any>>;
    cloudstoragesDestroy(requestParameters: CloudstoragesApiCloudstoragesDestroyRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    cloudstoragesList(requestParameters?: CloudstoragesApiCloudstoragesListRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PaginatedCloudStorageReadList, any>>;
    cloudstoragesPartialUpdate(requestParameters: CloudstoragesApiCloudstoragesPartialUpdateRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CloudStorageRead, any>>;
    cloudstoragesRetrieve(requestParameters: CloudstoragesApiCloudstoragesRetrieveRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CloudStorageRead, any>>;
    cloudstoragesRetrieveActions(requestParameters: CloudstoragesApiCloudstoragesRetrieveActionsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
    cloudstoragesRetrieveContentV2(requestParameters: CloudstoragesApiCloudstoragesRetrieveContentV2Request, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CloudStorageContent, any>>;
    cloudstoragesRetrievePreview(requestParameters: CloudstoragesApiCloudstoragesRetrievePreviewRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any>>;
    cloudstoragesRetrieveStatus(requestParameters: CloudstoragesApiCloudstoragesRetrieveStatusRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
}
export declare const CloudstoragesListCredentialsTypeEnum: {
    readonly KeySecretKeyPair: "KEY_SECRET_KEY_PAIR";
    readonly AccountNameTokenPair: "ACCOUNT_NAME_TOKEN_PAIR";
    readonly KeyFilePath: "KEY_FILE_PATH";
    readonly AnonymousAccess: "ANONYMOUS_ACCESS";
    readonly ConnectionString: "CONNECTION_STRING";
};
export type CloudstoragesListCredentialsTypeEnum = typeof CloudstoragesListCredentialsTypeEnum[keyof typeof CloudstoragesListCredentialsTypeEnum];
export declare const CloudstoragesListProviderTypeEnum: {
    readonly AwsS3Bucket: "AWS_S3_BUCKET";
    readonly AzureContainer: "AZURE_CONTAINER";
    readonly GoogleDrive: "GOOGLE_DRIVE";
    readonly GoogleCloudStorage: "GOOGLE_CLOUD_STORAGE";
};
export type CloudstoragesListProviderTypeEnum = typeof CloudstoragesListProviderTypeEnum[keyof typeof CloudstoragesListProviderTypeEnum];
