import { Request, Wisdom as AWSWisdom } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSWisdom> = AWSWisdom[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSWisdom, Extras> = AWSWisdom[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Wisdom {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "wisdom";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listAssistants", "listKnowledgeBases"];
    createAssistant: (params: ParamsFrom<'createAssistant', Record<string, never>>) => Promise<ReturnTypeFrom<'createAssistant'>>;
    createAssistantAssociation: (params: ParamsFrom<'createAssistantAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'createAssistantAssociation'>>;
    createContent: (params: ParamsFrom<'createContent', Record<string, never>>) => Promise<ReturnTypeFrom<'createContent'>>;
    createKnowledgeBase: (params: ParamsFrom<'createKnowledgeBase', Record<string, never>>) => Promise<ReturnTypeFrom<'createKnowledgeBase'>>;
    createSession: (params: ParamsFrom<'createSession', Record<string, never>>) => Promise<ReturnTypeFrom<'createSession'>>;
    deleteAssistant: (params: ParamsFrom<'deleteAssistant', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAssistant'>>;
    deleteAssistantAssociation: (params: ParamsFrom<'deleteAssistantAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAssistantAssociation'>>;
    deleteContent: (params: ParamsFrom<'deleteContent', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteContent'>>;
    deleteKnowledgeBase: (params: ParamsFrom<'deleteKnowledgeBase', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteKnowledgeBase'>>;
    getAssistant: (params: ParamsFrom<'getAssistant', Record<string, never>>) => Promise<ReturnTypeFrom<'getAssistant'>>;
    getAssistantAssociation: (params: ParamsFrom<'getAssistantAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'getAssistantAssociation'>>;
    getContent: (params: ParamsFrom<'getContent', Record<string, never>>) => Promise<ReturnTypeFrom<'getContent'>>;
    getContentSummary: (params: ParamsFrom<'getContentSummary', Record<string, never>>) => Promise<ReturnTypeFrom<'getContentSummary'>>;
    getKnowledgeBase: (params: ParamsFrom<'getKnowledgeBase', Record<string, never>>) => Promise<ReturnTypeFrom<'getKnowledgeBase'>>;
    getRecommendations: (params: ParamsFrom<'getRecommendations', Record<string, never>>) => Promise<ReturnTypeFrom<'getRecommendations'>>;
    getSession: (params: ParamsFrom<'getSession', Record<string, never>>) => Promise<ReturnTypeFrom<'getSession'>>;
    listAssistantAssociations(params: {
        [K in keyof ParamsFrom<'listAssistantAssociations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAssistantAssociations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAssistantAssociations'>]-?: ReturnTypeFrom<'listAssistantAssociations'>[K];
        }['assistantAssociationSummaries'];
    }>;
    listAssistants(params: {
        [K in keyof ParamsFrom<'listAssistants', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAssistants', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAssistants'>]-?: ReturnTypeFrom<'listAssistants'>[K];
        }['assistantSummaries'];
    }>;
    listContents(params: {
        [K in keyof ParamsFrom<'listContents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listContents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listContents'>]-?: ReturnTypeFrom<'listContents'>[K];
        }['contentSummaries'];
    }>;
    listKnowledgeBases(params: {
        [K in keyof ParamsFrom<'listKnowledgeBases', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listKnowledgeBases', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listKnowledgeBases'>]-?: ReturnTypeFrom<'listKnowledgeBases'>[K];
        }['knowledgeBaseSummaries'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    notifyRecommendationsReceived: (params: ParamsFrom<'notifyRecommendationsReceived', Record<string, never>>) => Promise<ReturnTypeFrom<'notifyRecommendationsReceived'>>;
    putFeedback: (params: ParamsFrom<'putFeedback', Record<string, never>>) => Promise<ReturnTypeFrom<'putFeedback'>>;
    queryAssistant(params: {
        [K in keyof ParamsFrom<'queryAssistant', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'queryAssistant', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'queryAssistant'>]-?: ReturnTypeFrom<'queryAssistant'>[K];
        }['results'];
    }>;
    removeKnowledgeBaseTemplateUri: (params: ParamsFrom<'removeKnowledgeBaseTemplateUri', Record<string, never>>) => Promise<ReturnTypeFrom<'removeKnowledgeBaseTemplateUri'>>;
    searchContent(params: {
        [K in keyof ParamsFrom<'searchContent', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'searchContent', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'searchContent'>]-?: ReturnTypeFrom<'searchContent'>[K];
        }['contentSummaries'];
    }>;
    searchSessions(params: {
        [K in keyof ParamsFrom<'searchSessions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'searchSessions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'searchSessions'>]-?: ReturnTypeFrom<'searchSessions'>[K];
        }['sessionSummaries'];
    }>;
    startContentUpload: (params: ParamsFrom<'startContentUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'startContentUpload'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateContent: (params: ParamsFrom<'updateContent', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContent'>>;
    updateKnowledgeBaseTemplateUri: (params: ParamsFrom<'updateKnowledgeBaseTemplateUri', Record<string, never>>) => Promise<ReturnTypeFrom<'updateKnowledgeBaseTemplateUri'>>;
    static fromClient(client: AWSWisdom): Wisdom;
    static client(options?: AWSWisdom.Types.ClientConfiguration): Wisdom;
}
export {};
