import { Request, SSMContacts as AWSSSMContacts } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSSSMContacts> = AWSSSMContacts[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSSSMContacts, Extras> = AWSSSMContacts[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class SSMContacts {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "ssm-contacts";
    readonly global: false;
    readonly category: "Management and Governance";
    readonly topLevelCalls: readonly ["listContacts", "listEngagements"];
    acceptPage: (params: ParamsFrom<'acceptPage', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptPage'>>;
    activateContactChannel: (params: ParamsFrom<'activateContactChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'activateContactChannel'>>;
    createContact: (params: ParamsFrom<'createContact', Record<string, never>>) => Promise<ReturnTypeFrom<'createContact'>>;
    createContactChannel: (params: ParamsFrom<'createContactChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'createContactChannel'>>;
    deactivateContactChannel: (params: ParamsFrom<'deactivateContactChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'deactivateContactChannel'>>;
    deleteContact: (params: ParamsFrom<'deleteContact', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteContact'>>;
    deleteContactChannel: (params: ParamsFrom<'deleteContactChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteContactChannel'>>;
    describeEngagement: (params: ParamsFrom<'describeEngagement', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEngagement'>>;
    describePage: (params: ParamsFrom<'describePage', Record<string, never>>) => Promise<ReturnTypeFrom<'describePage'>>;
    getContact: (params: ParamsFrom<'getContact', Record<string, never>>) => Promise<ReturnTypeFrom<'getContact'>>;
    getContactChannel: (params: ParamsFrom<'getContactChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'getContactChannel'>>;
    getContactPolicy: (params: ParamsFrom<'getContactPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getContactPolicy'>>;
    listContactChannels(params: {
        [K in keyof ParamsFrom<'listContactChannels', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listContactChannels', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listContactChannels'>]-?: ReturnTypeFrom<'listContactChannels'>[K];
        }['ContactChannels'];
    }>;
    listContacts(params: {
        [K in keyof ParamsFrom<'listContacts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listContacts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listContacts'>]-?: ReturnTypeFrom<'listContacts'>[K];
        }['Contacts'];
    }>;
    listEngagements(params: {
        [K in keyof ParamsFrom<'listEngagements', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listEngagements', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEngagements'>]-?: ReturnTypeFrom<'listEngagements'>[K];
        }['Engagements'];
    }>;
    listPageReceipts(params: {
        [K in keyof ParamsFrom<'listPageReceipts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPageReceipts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPageReceipts'>]-?: ReturnTypeFrom<'listPageReceipts'>[K];
        }['Receipts'];
    }>;
    listPagesByContact(params: {
        [K in keyof ParamsFrom<'listPagesByContact', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPagesByContact', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPagesByContact'>]-?: ReturnTypeFrom<'listPagesByContact'>[K];
        }['Pages'];
    }>;
    listPagesByEngagement(params: {
        [K in keyof ParamsFrom<'listPagesByEngagement', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPagesByEngagement', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPagesByEngagement'>]-?: ReturnTypeFrom<'listPagesByEngagement'>[K];
        }['Pages'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putContactPolicy: (params: ParamsFrom<'putContactPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putContactPolicy'>>;
    sendActivationCode: (params: ParamsFrom<'sendActivationCode', Record<string, never>>) => Promise<ReturnTypeFrom<'sendActivationCode'>>;
    startEngagement: (params: ParamsFrom<'startEngagement', Record<string, never>>) => Promise<ReturnTypeFrom<'startEngagement'>>;
    stopEngagement: (params: ParamsFrom<'stopEngagement', Record<string, never>>) => Promise<ReturnTypeFrom<'stopEngagement'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateContact: (params: ParamsFrom<'updateContact', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContact'>>;
    updateContactChannel: (params: ParamsFrom<'updateContactChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContactChannel'>>;
    static fromClient(client: AWSSSMContacts): SSMContacts;
    static client(options?: AWSSSMContacts.Types.ClientConfiguration): SSMContacts;
}
export {};
