import { Request, S3Control as AWSS3Control } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSS3Control> = AWSS3Control[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSS3Control, Extras> = AWSS3Control[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class S3Control {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "s3-control";
    readonly global: false;
    readonly category: "Storage";
    readonly topLevelCalls: readonly [];
    createAccessPoint: (params: ParamsFrom<'createAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccessPoint'>>;
    createAccessPointForObjectLambda: (params: ParamsFrom<'createAccessPointForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccessPointForObjectLambda'>>;
    createBucket: (params: ParamsFrom<'createBucket', Record<string, never>>) => Promise<ReturnTypeFrom<'createBucket'>>;
    createJob: (params: ParamsFrom<'createJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createJob'>>;
    createMultiRegionAccessPoint: (params: ParamsFrom<'createMultiRegionAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'createMultiRegionAccessPoint'>>;
    deleteAccessPoint: (params: ParamsFrom<'deleteAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccessPoint'>>;
    deleteAccessPointForObjectLambda: (params: ParamsFrom<'deleteAccessPointForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccessPointForObjectLambda'>>;
    deleteAccessPointPolicy: (params: ParamsFrom<'deleteAccessPointPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccessPointPolicy'>>;
    deleteAccessPointPolicyForObjectLambda: (params: ParamsFrom<'deleteAccessPointPolicyForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccessPointPolicyForObjectLambda'>>;
    deleteBucket: (params: ParamsFrom<'deleteBucket', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBucket'>>;
    deleteBucketLifecycleConfiguration: (params: ParamsFrom<'deleteBucketLifecycleConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBucketLifecycleConfiguration'>>;
    deleteBucketPolicy: (params: ParamsFrom<'deleteBucketPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBucketPolicy'>>;
    deleteBucketTagging: (params: ParamsFrom<'deleteBucketTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBucketTagging'>>;
    deleteJobTagging: (params: ParamsFrom<'deleteJobTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteJobTagging'>>;
    deleteMultiRegionAccessPoint: (params: ParamsFrom<'deleteMultiRegionAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMultiRegionAccessPoint'>>;
    deletePublicAccessBlock: (params: ParamsFrom<'deletePublicAccessBlock', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePublicAccessBlock'>>;
    deleteStorageLensConfiguration: (params: ParamsFrom<'deleteStorageLensConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStorageLensConfiguration'>>;
    deleteStorageLensConfigurationTagging: (params: ParamsFrom<'deleteStorageLensConfigurationTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStorageLensConfigurationTagging'>>;
    describeJob: (params: ParamsFrom<'describeJob', Record<string, never>>) => Promise<ReturnTypeFrom<'describeJob'>>;
    describeMultiRegionAccessPointOperation: (params: ParamsFrom<'describeMultiRegionAccessPointOperation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMultiRegionAccessPointOperation'>>;
    getAccessPoint: (params: ParamsFrom<'getAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPoint'>>;
    getAccessPointConfigurationForObjectLambda: (params: ParamsFrom<'getAccessPointConfigurationForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPointConfigurationForObjectLambda'>>;
    getAccessPointForObjectLambda: (params: ParamsFrom<'getAccessPointForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPointForObjectLambda'>>;
    getAccessPointPolicy: (params: ParamsFrom<'getAccessPointPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPointPolicy'>>;
    getAccessPointPolicyForObjectLambda: (params: ParamsFrom<'getAccessPointPolicyForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPointPolicyForObjectLambda'>>;
    getAccessPointPolicyStatus: (params: ParamsFrom<'getAccessPointPolicyStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPointPolicyStatus'>>;
    getAccessPointPolicyStatusForObjectLambda: (params: ParamsFrom<'getAccessPointPolicyStatusForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccessPointPolicyStatusForObjectLambda'>>;
    getBucket: (params: ParamsFrom<'getBucket', Record<string, never>>) => Promise<ReturnTypeFrom<'getBucket'>>;
    getBucketLifecycleConfiguration: (params: ParamsFrom<'getBucketLifecycleConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getBucketLifecycleConfiguration'>>;
    getBucketPolicy: (params: ParamsFrom<'getBucketPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getBucketPolicy'>>;
    getBucketTagging: (params: ParamsFrom<'getBucketTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'getBucketTagging'>>;
    getBucketVersioning: (params: ParamsFrom<'getBucketVersioning', Record<string, never>>) => Promise<ReturnTypeFrom<'getBucketVersioning'>>;
    getJobTagging: (params: ParamsFrom<'getJobTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'getJobTagging'>>;
    getMultiRegionAccessPoint: (params: ParamsFrom<'getMultiRegionAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'getMultiRegionAccessPoint'>>;
    getMultiRegionAccessPointPolicy: (params: ParamsFrom<'getMultiRegionAccessPointPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getMultiRegionAccessPointPolicy'>>;
    getMultiRegionAccessPointPolicyStatus: (params: ParamsFrom<'getMultiRegionAccessPointPolicyStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getMultiRegionAccessPointPolicyStatus'>>;
    getPublicAccessBlock: (params: ParamsFrom<'getPublicAccessBlock', Record<string, never>>) => Promise<ReturnTypeFrom<'getPublicAccessBlock'>>;
    getStorageLensConfiguration: (params: ParamsFrom<'getStorageLensConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getStorageLensConfiguration'>>;
    getStorageLensConfigurationTagging: (params: ParamsFrom<'getStorageLensConfigurationTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'getStorageLensConfigurationTagging'>>;
    listAccessPoints: (params: ParamsFrom<'listAccessPoints', Record<string, never>>) => Promise<ReturnTypeFrom<'listAccessPoints'>>;
    listAccessPointsForObjectLambda(params: {
        [K in keyof ParamsFrom<'listAccessPointsForObjectLambda', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccessPointsForObjectLambda', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccessPointsForObjectLambda'>]-?: ReturnTypeFrom<'listAccessPointsForObjectLambda'>[K];
        }['ObjectLambdaAccessPointList'];
    }>;
    listJobs: (params: ParamsFrom<'listJobs', Record<string, never>>) => Promise<ReturnTypeFrom<'listJobs'>>;
    listMultiRegionAccessPoints: (params: ParamsFrom<'listMultiRegionAccessPoints', Record<string, never>>) => Promise<ReturnTypeFrom<'listMultiRegionAccessPoints'>>;
    listRegionalBuckets: (params: ParamsFrom<'listRegionalBuckets', Record<string, never>>) => Promise<ReturnTypeFrom<'listRegionalBuckets'>>;
    listStorageLensConfigurations: (params: ParamsFrom<'listStorageLensConfigurations', Record<string, never>>) => Promise<ReturnTypeFrom<'listStorageLensConfigurations'>>;
    putAccessPointConfigurationForObjectLambda: (params: ParamsFrom<'putAccessPointConfigurationForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccessPointConfigurationForObjectLambda'>>;
    putAccessPointPolicy: (params: ParamsFrom<'putAccessPointPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccessPointPolicy'>>;
    putAccessPointPolicyForObjectLambda: (params: ParamsFrom<'putAccessPointPolicyForObjectLambda', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccessPointPolicyForObjectLambda'>>;
    putBucketLifecycleConfiguration: (params: ParamsFrom<'putBucketLifecycleConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putBucketLifecycleConfiguration'>>;
    putBucketPolicy: (params: ParamsFrom<'putBucketPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putBucketPolicy'>>;
    putBucketTagging: (params: ParamsFrom<'putBucketTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'putBucketTagging'>>;
    putBucketVersioning: (params: ParamsFrom<'putBucketVersioning', Record<string, never>>) => Promise<ReturnTypeFrom<'putBucketVersioning'>>;
    putJobTagging: (params: ParamsFrom<'putJobTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'putJobTagging'>>;
    putMultiRegionAccessPointPolicy: (params: ParamsFrom<'putMultiRegionAccessPointPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putMultiRegionAccessPointPolicy'>>;
    putPublicAccessBlock: (params: ParamsFrom<'putPublicAccessBlock', Record<string, never>>) => Promise<ReturnTypeFrom<'putPublicAccessBlock'>>;
    putStorageLensConfiguration: (params: ParamsFrom<'putStorageLensConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putStorageLensConfiguration'>>;
    putStorageLensConfigurationTagging: (params: ParamsFrom<'putStorageLensConfigurationTagging', Record<string, never>>) => Promise<ReturnTypeFrom<'putStorageLensConfigurationTagging'>>;
    updateJobPriority: (params: ParamsFrom<'updateJobPriority', Record<string, never>>) => Promise<ReturnTypeFrom<'updateJobPriority'>>;
    updateJobStatus: (params: ParamsFrom<'updateJobStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'updateJobStatus'>>;
    static fromClient(client: AWSS3Control): S3Control;
    static client(options?: AWSS3Control.Types.ClientConfiguration): S3Control;
}
export {};
