import { Request, Ivschat as AWSIvschat } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSIvschat> = AWSIvschat[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSIvschat, Extras> = AWSIvschat[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Ivschat {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "ivschat";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listRooms"];
    createChatToken: (params: ParamsFrom<'createChatToken', Record<string, never>>) => Promise<ReturnTypeFrom<'createChatToken'>>;
    createRoom: (params: ParamsFrom<'createRoom', Record<string, never>>) => Promise<ReturnTypeFrom<'createRoom'>>;
    deleteMessage: (params: ParamsFrom<'deleteMessage', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMessage'>>;
    deleteRoom: (params: ParamsFrom<'deleteRoom', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRoom'>>;
    disconnectUser: (params: ParamsFrom<'disconnectUser', Record<string, never>>) => Promise<ReturnTypeFrom<'disconnectUser'>>;
    getRoom: (params: ParamsFrom<'getRoom', Record<string, never>>) => Promise<ReturnTypeFrom<'getRoom'>>;
    listRooms: (params: ParamsFrom<'listRooms', Record<string, never>>) => Promise<ReturnTypeFrom<'listRooms'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    sendEvent: (params: ParamsFrom<'sendEvent', Record<string, never>>) => Promise<ReturnTypeFrom<'sendEvent'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateRoom: (params: ParamsFrom<'updateRoom', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRoom'>>;
    static fromClient(client: AWSIvschat): Ivschat;
    static client(options?: AWSIvschat.Types.ClientConfiguration): Ivschat;
}
export {};
