import { Request, Route53RecoveryControlConfig as AWSRoute53RecoveryControlConfig } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSRoute53RecoveryControlConfig> = AWSRoute53RecoveryControlConfig[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSRoute53RecoveryControlConfig, Extras> = AWSRoute53RecoveryControlConfig[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Route53RecoveryControlConfig {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "route53-recovery-control-config";
    readonly global: false;
    readonly category: "Networking and Content Delivery";
    readonly topLevelCalls: readonly ["listClusters", "listControlPanels"];
    createCluster: (params: ParamsFrom<'createCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createCluster'>>;
    createControlPanel: (params: ParamsFrom<'createControlPanel', Record<string, never>>) => Promise<ReturnTypeFrom<'createControlPanel'>>;
    createRoutingControl: (params: ParamsFrom<'createRoutingControl', Record<string, never>>) => Promise<ReturnTypeFrom<'createRoutingControl'>>;
    createSafetyRule: (params: ParamsFrom<'createSafetyRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createSafetyRule'>>;
    deleteCluster: (params: ParamsFrom<'deleteCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCluster'>>;
    deleteControlPanel: (params: ParamsFrom<'deleteControlPanel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteControlPanel'>>;
    deleteRoutingControl: (params: ParamsFrom<'deleteRoutingControl', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRoutingControl'>>;
    deleteSafetyRule: (params: ParamsFrom<'deleteSafetyRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSafetyRule'>>;
    describeCluster: (params: ParamsFrom<'describeCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCluster'>>;
    describeControlPanel: (params: ParamsFrom<'describeControlPanel', Record<string, never>>) => Promise<ReturnTypeFrom<'describeControlPanel'>>;
    describeRoutingControl: (params: ParamsFrom<'describeRoutingControl', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRoutingControl'>>;
    describeSafetyRule: (params: ParamsFrom<'describeSafetyRule', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSafetyRule'>>;
    listAssociatedRoute53HealthChecks: (params: ParamsFrom<'listAssociatedRoute53HealthChecks', Record<string, never>>) => Promise<ReturnTypeFrom<'listAssociatedRoute53HealthChecks'>>;
    listClusters: (params: ParamsFrom<'listClusters', Record<string, never>>) => Promise<ReturnTypeFrom<'listClusters'>>;
    listControlPanels: (params: ParamsFrom<'listControlPanels', Record<string, never>>) => Promise<ReturnTypeFrom<'listControlPanels'>>;
    listRoutingControls: (params: ParamsFrom<'listRoutingControls', Record<string, never>>) => Promise<ReturnTypeFrom<'listRoutingControls'>>;
    listSafetyRules: (params: ParamsFrom<'listSafetyRules', Record<string, never>>) => Promise<ReturnTypeFrom<'listSafetyRules'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateControlPanel: (params: ParamsFrom<'updateControlPanel', Record<string, never>>) => Promise<ReturnTypeFrom<'updateControlPanel'>>;
    updateRoutingControl: (params: ParamsFrom<'updateRoutingControl', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRoutingControl'>>;
    updateSafetyRule: (params: ParamsFrom<'updateSafetyRule', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSafetyRule'>>;
    static fromClient(client: AWSRoute53RecoveryControlConfig): Route53RecoveryControlConfig;
    static client(options?: AWSRoute53RecoveryControlConfig.Types.ClientConfiguration): Route53RecoveryControlConfig;
}
export {};
