import { VolumeApplyReq, VolumeCreateReq, VolumeListReq, VolumeManagerConfig, VolumeNameReq, VolumeRequestOptions, VolumeResponse } from '../';
export declare class VolumeManager {
    private readonly cloudEndpoint;
    private readonly apiKey;
    private readonly fetchImpl;
    private readonly timeout;
    constructor(config: VolumeManagerConfig);
    constructor(cloudEndpoint: string, apiKey: string, fetchImpl?: typeof fetch);
    createVolume(data: VolumeCreateReq, options?: VolumeRequestOptions): Promise<VolumeResponse>;
    listVolumes(data: VolumeListReq, options?: VolumeRequestOptions): Promise<VolumeResponse>;
    deleteVolume(data: VolumeNameReq, options?: VolumeRequestOptions): Promise<VolumeResponse>;
    describeVolume(data: VolumeNameReq, options?: VolumeRequestOptions): Promise<VolumeResponse>;
    applyVolume(data: VolumeApplyReq, options?: VolumeRequestOptions): Promise<VolumeResponse>;
    private get headers();
    private get baseURL();
    private handleResponse;
    private request;
    private buildUrl;
    private GET;
    private POST;
    private DELETE;
    create_volume: (data: VolumeCreateReq, options?: VolumeRequestOptions) => Promise<VolumeResponse>;
    list_volumes: (data: VolumeListReq, options?: VolumeRequestOptions) => Promise<VolumeResponse>;
    delete_volume: (data: VolumeNameReq, options?: VolumeRequestOptions) => Promise<VolumeResponse>;
    describe_volume: (data: VolumeNameReq, options?: VolumeRequestOptions) => Promise<VolumeResponse>;
    apply_volume: (data: VolumeApplyReq, options?: VolumeRequestOptions) => Promise<VolumeResponse>;
}
