import { AbstractClient } from "../../../common/abstract_client";
import { ClientConfig } from "../../../common/interface";
import { UpdateFilesetGeneralConfigResponse, CreateDataRepositoryTaskResponse, DeleteFileSystemRequest, DeleteFilesetResponse, ListLoadTasksResponse, UpdateLoadTaskPriorityResponse, DescribeFilesetGeneralConfigRequest, UpdateLoadTaskPriorityRequest, DescribeFilesetsResponse, ExpandCapacityRequest, CancelLoadTaskRequest, BatchDeleteClientNodesRequest, UpdateFilesetResponse, DescribeFileSystemsRequest, AttachFileSystemBucketRequest, MountMultipleStorageFileSystemResponse, CreateDataRepositoryTaskRequest, CreateFilesetRequest, DescribeClusterRoleTokenRequest, MountMultipleStorageFileSystemRequest, DescribeLoadTaskRequest, DescribeFileSystemBucketsRequest, DescribeDataRepositoryTaskStatusResponse, CreateFileSystemRequest, DescribeLoadTaskResponse, DetachFileSystemBucketRequest, ModifyDataRepositoryBandwidthRequest, UpdateFilesetRequest, DescribeCustomerClusterRequest, DescribeFilesetGeneralConfigResponse, CreateFilesetResponse, QueryCrossVpcSubnetSupportForClientNodeResponse, DeleteCrossVpcSubnetSupportForClientNodeResponse, BatchAddClientNodesRequest, BuildClientNodeMountCommandResponse, CreateLoadTaskRequest, ModifyDataRepositoryBandwidthResponse, ModifyDataRepositoryTaskStatusResponse, ExpandCapacityResponse, DeleteFilesetRequest, AddCrossVpcSubnetSupportForClientNodeResponse, QueryClientNodeMountCommandRequest, DescribeClusterRoleTokenResponse, CancelLoadTaskResponse, BatchAddClientNodesResponse, QueryClientNodeMountCommandResponse, DeleteFileSystemResponse, QueryDataRepositoryBandwidthResponse, QueryDataRepositoryBandwidthRequest, DescribeClientNodesResponse, DescribeDataRepositoryTaskStatusRequest, DescribeCustomerClusterResponse, DetachFileSystemBucketResponse, DescribeFileSystemBucketsResponse, DescribeClientNodesRequest, DescribeClusterClientTokenRequest, ListLoadTasksRequest, DescribeClusterClientTokenResponse, CreateFileSystemResponse, DescribeFilesetsRequest, CreateLoadTaskResponse, DescribeFileSystemsResponse, BatchDeleteClientNodesResponse, QueryCrossVpcSubnetSupportForClientNodeRequest, DeleteCrossVpcSubnetSupportForClientNodeRequest, AttachFileSystemBucketResponse, BuildClientNodeMountCommandRequest, BuildCustomerClusterRequest, UpdateFilesetGeneralConfigRequest, BuildCustomerClusterResponse, DeleteCustomerClusterResponse, AddCrossVpcSubnetSupportForClientNodeRequest, ModifyDataRepositoryTaskStatusRequest, DeleteCustomerClusterRequest } from "./goosefs_models";
/**
 * goosefs client
 * @class
 */
export declare class Client extends AbstractClient {
    constructor(clientConfig: ClientConfig);
    /**
     * 客户端集群挂载存储集群
     */
    MountMultipleStorageFileSystem(req: MountMultipleStorageFileSystemRequest, cb?: (error: string, rep: MountMultipleStorageFileSystemResponse) => void): Promise<MountMultipleStorageFileSystemResponse>;
    /**
     * 扩展文件系统容量
     */
    ExpandCapacity(req: ExpandCapacityRequest, cb?: (error: string, rep: ExpandCapacityResponse) => void): Promise<ExpandCapacityResponse>;
    /**
     * 删除客户端集群
     */
    DeleteCustomerCluster(req: DeleteCustomerClusterRequest, cb?: (error: string, rep: DeleteCustomerClusterResponse) => void): Promise<DeleteCustomerClusterResponse>;
    /**
     * 修改FIleset
     */
    UpdateFileset(req: UpdateFilesetRequest, cb?: (error: string, rep: UpdateFilesetResponse) => void): Promise<UpdateFilesetResponse>;
    /**
     * 查询客户端节点跨vpc子网访问能力
     */
    QueryCrossVpcSubnetSupportForClientNode(req: QueryCrossVpcSubnetSupportForClientNodeRequest, cb?: (error: string, rep: QueryCrossVpcSubnetSupportForClientNodeResponse) => void): Promise<QueryCrossVpcSubnetSupportForClientNodeResponse>;
    /**
     * 查询GooseFS集群客户端凭证
     */
    DescribeClusterClientToken(req: DescribeClusterClientTokenRequest, cb?: (error: string, rep: DescribeClusterClientTokenResponse) => void): Promise<DescribeClusterClientTokenResponse>;
    /**
     * 查询客户端集群
     */
    DescribeCustomerCluster(req: DescribeCustomerClusterRequest, cb?: (error: string, rep: DescribeCustomerClusterResponse) => void): Promise<DescribeCustomerClusterResponse>;
    /**
     * 查询单个预热任务执行情况。注意，该接口需要 GooseFS 集群版本 ≥ 1.5.1。
     */
    DescribeLoadTask(req: DescribeLoadTaskRequest, cb?: (error: string, rep: DescribeLoadTaskResponse) => void): Promise<DescribeLoadTaskResponse>;
    /**
     * 修改数据流动带宽
     */
    ModifyDataRepositoryBandwidth(req: ModifyDataRepositoryBandwidthRequest, cb?: (error: string, rep: ModifyDataRepositoryBandwidthResponse) => void): Promise<ModifyDataRepositoryBandwidthResponse>;
    /**
     * 修改数据流动任务状态，目前支持任务暂停/恢复
     */
    ModifyDataRepositoryTaskStatus(req: ModifyDataRepositoryTaskStatusRequest, cb?: (error: string, rep: ModifyDataRepositoryTaskStatusResponse) => void): Promise<ModifyDataRepositoryTaskStatusResponse>;
    /**
     * 批量删除客户端节点
     */
    BatchDeleteClientNodes(req: BatchDeleteClientNodesRequest, cb?: (error: string, rep: BatchDeleteClientNodesResponse) => void): Promise<BatchDeleteClientNodesResponse>;
    /**
     * 查询Fileset通用配置
     */
    DescribeFilesetGeneralConfig(req: DescribeFilesetGeneralConfigRequest, cb?: (error: string, rep: DescribeFilesetGeneralConfigResponse) => void): Promise<DescribeFilesetGeneralConfigResponse>;
    /**
     * 列出该集群下所有预热任务。注意，该接口需要 GooseFS 集群版本 ≥ 1.5.1。
     */
    ListLoadTasks(req: ListLoadTasksRequest, cb?: (error: string, rep: ListLoadTasksResponse) => void): Promise<ListLoadTasksResponse>;
    /**
     * 生成客户端的挂载命令
     */
    BuildClientNodeMountCommand(req: BuildClientNodeMountCommandRequest, cb?: (error: string, rep: BuildClientNodeMountCommandResponse) => void): Promise<BuildClientNodeMountCommandResponse>;
    /**
     * 变更已有 GooseFS 预热任务配置，仅任务状态为 waiting 时可调用该接口。注意，该接口需要 GooseFS 集群版本 ≥ 1.5.1。
     */
    UpdateLoadTaskPriority(req: UpdateLoadTaskPriorityRequest, cb?: (error: string, rep: UpdateLoadTaskPriorityResponse) => void): Promise<UpdateLoadTaskPriorityResponse>;
    /**
     * 取消单个预热任务，仅任务在 waiting、running 状态时可以调用此接口。注意，该接口需要 GooseFS 集群版本 ≥ 1.5.1。
     */
    CancelLoadTask(req: CancelLoadTaskRequest, cb?: (error: string, rep: CancelLoadTaskResponse) => void): Promise<CancelLoadTaskResponse>;
    /**
     * 删除文件系统
     */
    DeleteFileSystem(req: DeleteFileSystemRequest, cb?: (error: string, rep: DeleteFileSystemResponse) => void): Promise<DeleteFileSystemResponse>;
    /**
     * 生成客户端的挂载命令
     */
    QueryClientNodeMountCommand(req: QueryClientNodeMountCommandRequest, cb?: (error: string, rep: QueryClientNodeMountCommandResponse) => void): Promise<QueryClientNodeMountCommandResponse>;
    /**
     * 创建Fileset
     */
    CreateFileset(req: CreateFilesetRequest, cb?: (error: string, rep: CreateFilesetResponse) => void): Promise<CreateFilesetResponse>;
    /**
     * 删除Fileset
     */
    DeleteFileset(req: DeleteFilesetRequest, cb?: (error: string, rep: DeleteFilesetResponse) => void): Promise<DeleteFilesetResponse>;
    /**
     * 列出集群中所有的客户端节点
     */
    DescribeClientNodes(req: DescribeClientNodesRequest, cb?: (error: string, rep: DescribeClientNodesResponse) => void): Promise<DescribeClientNodesResponse>;
    /**
     * GooseFS 预热相关接口，用于下发，列出，查询，修改预热任务。用于元数据预热、数据预热场景。 注意，该接口需要 GooseFS 集群版本 ≥ 1.5.1。
     */
    CreateLoadTask(req: CreateLoadTaskRequest, cb?: (error: string, rep: CreateLoadTaskResponse) => void): Promise<CreateLoadTaskResponse>;
    /**
     * 罗列文件系统关联的Bucket映射
     */
    DescribeFileSystemBuckets(req: DescribeFileSystemBucketsRequest, cb?: (error: string, rep: DescribeFileSystemBucketsResponse) => void): Promise<DescribeFileSystemBucketsResponse>;
    /**
     * 查询Fileset列表
     */
    DescribeFilesets(req: DescribeFilesetsRequest, cb?: (error: string, rep: DescribeFilesetsResponse) => void): Promise<DescribeFilesetsResponse>;
    /**
     * 构建客户端集群
     */
    BuildCustomerCluster(req: BuildCustomerClusterRequest, cb?: (error: string, rep: BuildCustomerClusterResponse) => void): Promise<BuildCustomerClusterResponse>;
    /**
     * 查询GooseFS集群角色凭证
     */
    DescribeClusterRoleToken(req: DescribeClusterRoleTokenRequest, cb?: (error: string, rep: DescribeClusterRoleTokenResponse) => void): Promise<DescribeClusterRoleTokenResponse>;
    /**
     * 创建数据流通任务,包括从将文件系统的数据上传到存储桶下, 以及从存储桶下载到文件系统里。
     */
    CreateDataRepositoryTask(req: CreateDataRepositoryTaskRequest, cb?: (error: string, rep: CreateDataRepositoryTaskResponse) => void): Promise<CreateDataRepositoryTaskResponse>;
    /**
     * 修改Fileset通用配置
     */
    UpdateFilesetGeneralConfig(req: UpdateFilesetGeneralConfigRequest, cb?: (error: string, rep: UpdateFilesetGeneralConfigResponse) => void): Promise<UpdateFilesetGeneralConfigResponse>;
    /**
     * 解绑文件系统与Bucket的映射
     */
    DetachFileSystemBucket(req: DetachFileSystemBucketRequest, cb?: (error: string, rep: DetachFileSystemBucketResponse) => void): Promise<DetachFileSystemBucketResponse>;
    /**
     * 为客户端节点添加跨vpc或子网访问能力
     */
    AddCrossVpcSubnetSupportForClientNode(req: AddCrossVpcSubnetSupportForClientNodeRequest, cb?: (error: string, rep: AddCrossVpcSubnetSupportForClientNodeResponse) => void): Promise<AddCrossVpcSubnetSupportForClientNodeResponse>;
    /**
     * 批量添加客户端节点
     */
    BatchAddClientNodes(req: BatchAddClientNodesRequest, cb?: (error: string, rep: BatchAddClientNodesResponse) => void): Promise<BatchAddClientNodesResponse>;
    /**
     * 列出所有的文件系统
     */
    DescribeFileSystems(req: DescribeFileSystemsRequest, cb?: (error: string, rep: DescribeFileSystemsResponse) => void): Promise<DescribeFileSystemsResponse>;
    /**
     * 为客户端节点删除跨vpc子网访问能力
     */
    DeleteCrossVpcSubnetSupportForClientNode(req: DeleteCrossVpcSubnetSupportForClientNodeRequest, cb?: (error: string, rep: DeleteCrossVpcSubnetSupportForClientNodeResponse) => void): Promise<DeleteCrossVpcSubnetSupportForClientNodeResponse>;
    /**
     * 为文件系统关联Bucket
     */
    AttachFileSystemBucket(req: AttachFileSystemBucketRequest, cb?: (error: string, rep: AttachFileSystemBucketResponse) => void): Promise<AttachFileSystemBucketResponse>;
    /**
     * 查询数据流动带宽
     */
    QueryDataRepositoryBandwidth(req: QueryDataRepositoryBandwidthRequest, cb?: (error: string, rep: QueryDataRepositoryBandwidthResponse) => void): Promise<QueryDataRepositoryBandwidthResponse>;
    /**
     * 创建文件系统
     */
    CreateFileSystem(req: CreateFileSystemRequest, cb?: (error: string, rep: CreateFileSystemResponse) => void): Promise<CreateFileSystemResponse>;
    /**
     * 获取数据流通任务实时状态，用作客户端控制
     */
    DescribeDataRepositoryTaskStatus(req: DescribeDataRepositoryTaskStatusRequest, cb?: (error: string, rep: DescribeDataRepositoryTaskStatusResponse) => void): Promise<DescribeDataRepositoryTaskStatusResponse>;
}
