import { Request, ServerlessApplicationRepository as AWSServerlessApplicationRepository } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSServerlessApplicationRepository> = AWSServerlessApplicationRepository[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSServerlessApplicationRepository, Extras> = AWSServerlessApplicationRepository[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ServerlessApplicationRepository {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "serverlessrepo";
    readonly global: false;
    readonly category: "Compute";
    readonly topLevelCalls: readonly ["listApplications"];
    createApplication: (params: ParamsFrom<'createApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplication'>>;
    createApplicationVersion: (params: ParamsFrom<'createApplicationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplicationVersion'>>;
    createCloudFormationChangeSet: (params: ParamsFrom<'createCloudFormationChangeSet', Record<string, never>>) => Promise<ReturnTypeFrom<'createCloudFormationChangeSet'>>;
    createCloudFormationTemplate: (params: ParamsFrom<'createCloudFormationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'createCloudFormationTemplate'>>;
    deleteApplication: (params: ParamsFrom<'deleteApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApplication'>>;
    getApplication: (params: ParamsFrom<'getApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplication'>>;
    getApplicationPolicy: (params: ParamsFrom<'getApplicationPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplicationPolicy'>>;
    getCloudFormationTemplate: (params: ParamsFrom<'getCloudFormationTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'getCloudFormationTemplate'>>;
    listApplicationDependencies: (params: ParamsFrom<'listApplicationDependencies', Record<string, never>>) => Promise<ReturnTypeFrom<'listApplicationDependencies'>>;
    listApplicationVersions: (params: ParamsFrom<'listApplicationVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'listApplicationVersions'>>;
    listApplications: (params: ParamsFrom<'listApplications', Record<string, never>>) => Promise<ReturnTypeFrom<'listApplications'>>;
    putApplicationPolicy: (params: ParamsFrom<'putApplicationPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putApplicationPolicy'>>;
    unshareApplication: (params: ParamsFrom<'unshareApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'unshareApplication'>>;
    updateApplication: (params: ParamsFrom<'updateApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplication'>>;
    static fromClient(client: AWSServerlessApplicationRepository): ServerlessApplicationRepository;
    static client(options?: AWSServerlessApplicationRepository.Types.ClientConfiguration): ServerlessApplicationRepository;
}
export {};
