import { Request, S3Outposts as AWSS3Outposts } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSS3Outposts> = AWSS3Outposts[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSS3Outposts, Extras> = AWSS3Outposts[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class S3Outposts {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "s3-outposts";
    readonly global: false;
    readonly category: "Storage";
    readonly topLevelCalls: readonly ["listEndpoints"];
    createEndpoint: (params: ParamsFrom<'createEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'createEndpoint'>>;
    deleteEndpoint: (params: ParamsFrom<'deleteEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteEndpoint'>>;
    listEndpoints(params: {
        [K in keyof ParamsFrom<'listEndpoints', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listEndpoints', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEndpoints'>]-?: ReturnTypeFrom<'listEndpoints'>[K];
        }['Endpoints'];
    }>;
    listSharedEndpoints(params: {
        [K in keyof ParamsFrom<'listSharedEndpoints', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSharedEndpoints', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSharedEndpoints'>]-?: ReturnTypeFrom<'listSharedEndpoints'>[K];
        }['Endpoints'];
    }>;
    static fromClient(client: AWSS3Outposts): S3Outposts;
    static client(options?: AWSS3Outposts.Types.ClientConfiguration): S3Outposts;
}
export {};
