import { Request, BackupStorage as AWSBackupStorage } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSBackupStorage> = AWSBackupStorage[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSBackupStorage, Extras> = AWSBackupStorage[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class BackupStorage {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "backupstorage";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly [];
    deleteObject: (params: ParamsFrom<'deleteObject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteObject'>>;
    getChunk: (params: ParamsFrom<'getChunk', Record<string, never>>) => Promise<ReturnTypeFrom<'getChunk'>>;
    getObjectMetadata: (params: ParamsFrom<'getObjectMetadata', Record<string, never>>) => Promise<ReturnTypeFrom<'getObjectMetadata'>>;
    listChunks: (params: ParamsFrom<'listChunks', Record<string, never>>) => Promise<ReturnTypeFrom<'listChunks'>>;
    listObjects: (params: ParamsFrom<'listObjects', Record<string, never>>) => Promise<ReturnTypeFrom<'listObjects'>>;
    notifyObjectComplete: (params: ParamsFrom<'notifyObjectComplete', Record<string, never>>) => Promise<ReturnTypeFrom<'notifyObjectComplete'>>;
    putChunk: (params: ParamsFrom<'putChunk', Record<string, never>>) => Promise<ReturnTypeFrom<'putChunk'>>;
    putObject: (params: ParamsFrom<'putObject', Record<string, never>>) => Promise<ReturnTypeFrom<'putObject'>>;
    startObject: (params: ParamsFrom<'startObject', Record<string, never>>) => Promise<ReturnTypeFrom<'startObject'>>;
    static fromClient(client: AWSBackupStorage): BackupStorage;
    static client(options?: AWSBackupStorage.Types.ClientConfiguration): BackupStorage;
}
export {};
