import { Request, Nimble as AWSNimble } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSNimble> = AWSNimble[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSNimble, Extras> = AWSNimble[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Nimble {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "nimble";
    readonly global: false;
    readonly category: "Media Services";
    readonly topLevelCalls: readonly ["listEulas", "listStudios"];
    acceptEulas: (params: ParamsFrom<'acceptEulas', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptEulas'>>;
    createLaunchProfile: (params: ParamsFrom<'createLaunchProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createLaunchProfile'>>;
    createStreamingImage: (params: ParamsFrom<'createStreamingImage', Record<string, never>>) => Promise<ReturnTypeFrom<'createStreamingImage'>>;
    createStreamingSession: (params: ParamsFrom<'createStreamingSession', Record<string, never>>) => Promise<ReturnTypeFrom<'createStreamingSession'>>;
    createStreamingSessionStream: (params: ParamsFrom<'createStreamingSessionStream', Record<string, never>>) => Promise<ReturnTypeFrom<'createStreamingSessionStream'>>;
    createStudio: (params: ParamsFrom<'createStudio', Record<string, never>>) => Promise<ReturnTypeFrom<'createStudio'>>;
    createStudioComponent: (params: ParamsFrom<'createStudioComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'createStudioComponent'>>;
    deleteLaunchProfile: (params: ParamsFrom<'deleteLaunchProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLaunchProfile'>>;
    deleteLaunchProfileMember: (params: ParamsFrom<'deleteLaunchProfileMember', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLaunchProfileMember'>>;
    deleteStreamingImage: (params: ParamsFrom<'deleteStreamingImage', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStreamingImage'>>;
    deleteStreamingSession: (params: ParamsFrom<'deleteStreamingSession', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStreamingSession'>>;
    deleteStudio: (params: ParamsFrom<'deleteStudio', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStudio'>>;
    deleteStudioComponent: (params: ParamsFrom<'deleteStudioComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStudioComponent'>>;
    deleteStudioMember: (params: ParamsFrom<'deleteStudioMember', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStudioMember'>>;
    getEula: (params: ParamsFrom<'getEula', Record<string, never>>) => Promise<ReturnTypeFrom<'getEula'>>;
    getLaunchProfile: (params: ParamsFrom<'getLaunchProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'getLaunchProfile'>>;
    getLaunchProfileDetails: (params: ParamsFrom<'getLaunchProfileDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'getLaunchProfileDetails'>>;
    getLaunchProfileInitialization: (params: ParamsFrom<'getLaunchProfileInitialization', Record<string, never>>) => Promise<ReturnTypeFrom<'getLaunchProfileInitialization'>>;
    getLaunchProfileMember: (params: ParamsFrom<'getLaunchProfileMember', Record<string, never>>) => Promise<ReturnTypeFrom<'getLaunchProfileMember'>>;
    getStreamingImage: (params: ParamsFrom<'getStreamingImage', Record<string, never>>) => Promise<ReturnTypeFrom<'getStreamingImage'>>;
    getStreamingSession: (params: ParamsFrom<'getStreamingSession', Record<string, never>>) => Promise<ReturnTypeFrom<'getStreamingSession'>>;
    getStreamingSessionStream: (params: ParamsFrom<'getStreamingSessionStream', Record<string, never>>) => Promise<ReturnTypeFrom<'getStreamingSessionStream'>>;
    getStudio: (params: ParamsFrom<'getStudio', Record<string, never>>) => Promise<ReturnTypeFrom<'getStudio'>>;
    getStudioComponent: (params: ParamsFrom<'getStudioComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'getStudioComponent'>>;
    getStudioMember: (params: ParamsFrom<'getStudioMember', Record<string, never>>) => Promise<ReturnTypeFrom<'getStudioMember'>>;
    listEulaAcceptances(params: {
        [K in keyof ParamsFrom<'listEulaAcceptances', {
            next?: string;
        }>]: ParamsFrom<'listEulaAcceptances', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEulaAcceptances'>]-?: ReturnTypeFrom<'listEulaAcceptances'>[K];
        }['eulaAcceptances'];
    }>;
    listEulas(params: {
        [K in keyof ParamsFrom<'listEulas', {
            next?: string;
        }>]: ParamsFrom<'listEulas', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEulas'>]-?: ReturnTypeFrom<'listEulas'>[K];
        }['eulas'];
    }>;
    listLaunchProfileMembers(params: {
        [K in keyof ParamsFrom<'listLaunchProfileMembers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listLaunchProfileMembers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listLaunchProfileMembers'>]-?: ReturnTypeFrom<'listLaunchProfileMembers'>[K];
        }['members'];
    }>;
    listLaunchProfiles(params: {
        [K in keyof ParamsFrom<'listLaunchProfiles', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listLaunchProfiles', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listLaunchProfiles'>]-?: ReturnTypeFrom<'listLaunchProfiles'>[K];
        }['launchProfiles'];
    }>;
    listStreamingImages(params: {
        [K in keyof ParamsFrom<'listStreamingImages', {
            next?: string;
        }>]: ParamsFrom<'listStreamingImages', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStreamingImages'>]-?: ReturnTypeFrom<'listStreamingImages'>[K];
        }['streamingImages'];
    }>;
    listStreamingSessions(params: {
        [K in keyof ParamsFrom<'listStreamingSessions', {
            next?: string;
        }>]: ParamsFrom<'listStreamingSessions', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStreamingSessions'>]-?: ReturnTypeFrom<'listStreamingSessions'>[K];
        }['sessions'];
    }>;
    listStudioComponents(params: {
        [K in keyof ParamsFrom<'listStudioComponents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listStudioComponents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStudioComponents'>]-?: ReturnTypeFrom<'listStudioComponents'>[K];
        }['studioComponents'];
    }>;
    listStudioMembers(params: {
        [K in keyof ParamsFrom<'listStudioMembers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listStudioMembers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStudioMembers'>]-?: ReturnTypeFrom<'listStudioMembers'>[K];
        }['members'];
    }>;
    listStudios(params: {
        [K in keyof ParamsFrom<'listStudios', {
            next?: string;
        }>]: ParamsFrom<'listStudios', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStudios'>]-?: ReturnTypeFrom<'listStudios'>[K];
        }['studios'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putLaunchProfileMembers: (params: ParamsFrom<'putLaunchProfileMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'putLaunchProfileMembers'>>;
    putStudioMembers: (params: ParamsFrom<'putStudioMembers', Record<string, never>>) => Promise<ReturnTypeFrom<'putStudioMembers'>>;
    startStreamingSession: (params: ParamsFrom<'startStreamingSession', Record<string, never>>) => Promise<ReturnTypeFrom<'startStreamingSession'>>;
    startStudioSSOConfigurationRepair: (params: ParamsFrom<'startStudioSSOConfigurationRepair', Record<string, never>>) => Promise<ReturnTypeFrom<'startStudioSSOConfigurationRepair'>>;
    stopStreamingSession: (params: ParamsFrom<'stopStreamingSession', Record<string, never>>) => Promise<ReturnTypeFrom<'stopStreamingSession'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateLaunchProfile: (params: ParamsFrom<'updateLaunchProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLaunchProfile'>>;
    updateLaunchProfileMember: (params: ParamsFrom<'updateLaunchProfileMember', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLaunchProfileMember'>>;
    updateStreamingImage: (params: ParamsFrom<'updateStreamingImage', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStreamingImage'>>;
    updateStudio: (params: ParamsFrom<'updateStudio', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStudio'>>;
    updateStudioComponent: (params: ParamsFrom<'updateStudioComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStudioComponent'>>;
    static fromClient(client: AWSNimble): Nimble;
    static client(options?: AWSNimble.Types.ClientConfiguration): Nimble;
}
export {};
