import { Request, GameSparks as AWSGameSparks } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSGameSparks> = AWSGameSparks[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSGameSparks, Extras> = AWSGameSparks[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class GameSparks {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "gamesparks";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listExtensions", "listGames"];
    createGame: (params: ParamsFrom<'createGame', Record<string, never>>) => Promise<ReturnTypeFrom<'createGame'>>;
    createSnapshot: (params: ParamsFrom<'createSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'createSnapshot'>>;
    createStage: (params: ParamsFrom<'createStage', Record<string, never>>) => Promise<ReturnTypeFrom<'createStage'>>;
    deleteGame: (params: ParamsFrom<'deleteGame', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGame'>>;
    deleteStage: (params: ParamsFrom<'deleteStage', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStage'>>;
    disconnectPlayer: (params: ParamsFrom<'disconnectPlayer', Record<string, never>>) => Promise<ReturnTypeFrom<'disconnectPlayer'>>;
    exportSnapshot: (params: ParamsFrom<'exportSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'exportSnapshot'>>;
    getExtension: (params: ParamsFrom<'getExtension', Record<string, never>>) => Promise<ReturnTypeFrom<'getExtension'>>;
    getExtensionVersion: (params: ParamsFrom<'getExtensionVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'getExtensionVersion'>>;
    getGame: (params: ParamsFrom<'getGame', Record<string, never>>) => Promise<ReturnTypeFrom<'getGame'>>;
    getGameConfiguration: (params: ParamsFrom<'getGameConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getGameConfiguration'>>;
    getGeneratedCodeJob: (params: ParamsFrom<'getGeneratedCodeJob', Record<string, never>>) => Promise<ReturnTypeFrom<'getGeneratedCodeJob'>>;
    getPlayerConnectionStatus: (params: ParamsFrom<'getPlayerConnectionStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getPlayerConnectionStatus'>>;
    getSnapshot: (params: ParamsFrom<'getSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'getSnapshot'>>;
    getStage: (params: ParamsFrom<'getStage', Record<string, never>>) => Promise<ReturnTypeFrom<'getStage'>>;
    getStageDeployment: (params: ParamsFrom<'getStageDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'getStageDeployment'>>;
    importGameConfiguration: (params: ParamsFrom<'importGameConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'importGameConfiguration'>>;
    listExtensionVersions(params: {
        [K in keyof ParamsFrom<'listExtensionVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listExtensionVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listExtensionVersions'>]-?: ReturnTypeFrom<'listExtensionVersions'>[K];
        }['ExtensionVersions'];
    }>;
    listExtensions(params: {
        [K in keyof ParamsFrom<'listExtensions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listExtensions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listExtensions'>]-?: ReturnTypeFrom<'listExtensions'>[K];
        }['Extensions'];
    }>;
    listGames(params: {
        [K in keyof ParamsFrom<'listGames', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGames', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGames'>]-?: ReturnTypeFrom<'listGames'>[K];
        }['Games'];
    }>;
    listGeneratedCodeJobs(params: {
        [K in keyof ParamsFrom<'listGeneratedCodeJobs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGeneratedCodeJobs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGeneratedCodeJobs'>]-?: ReturnTypeFrom<'listGeneratedCodeJobs'>[K];
        }['GeneratedCodeJobs'];
    }>;
    listSnapshots(params: {
        [K in keyof ParamsFrom<'listSnapshots', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSnapshots', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSnapshots'>]-?: ReturnTypeFrom<'listSnapshots'>[K];
        }['Snapshots'];
    }>;
    listStageDeployments(params: {
        [K in keyof ParamsFrom<'listStageDeployments', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listStageDeployments', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStageDeployments'>]-?: ReturnTypeFrom<'listStageDeployments'>[K];
        }['StageDeployments'];
    }>;
    listStages(params: {
        [K in keyof ParamsFrom<'listStages', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listStages', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listStages'>]-?: ReturnTypeFrom<'listStages'>[K];
        }['Stages'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    startGeneratedCodeJob: (params: ParamsFrom<'startGeneratedCodeJob', Record<string, never>>) => Promise<ReturnTypeFrom<'startGeneratedCodeJob'>>;
    startStageDeployment: (params: ParamsFrom<'startStageDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'startStageDeployment'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateGame: (params: ParamsFrom<'updateGame', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGame'>>;
    updateGameConfiguration: (params: ParamsFrom<'updateGameConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGameConfiguration'>>;
    updateSnapshot: (params: ParamsFrom<'updateSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSnapshot'>>;
    updateStage: (params: ParamsFrom<'updateStage', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStage'>>;
    static fromClient(client: AWSGameSparks): GameSparks;
    static client(options?: AWSGameSparks.Types.ClientConfiguration): GameSparks;
}
export {};
