import { Request, GroundStation as AWSGroundStation } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSGroundStation> = AWSGroundStation[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSGroundStation, Extras> = AWSGroundStation[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class GroundStation {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "groundstation";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listConfigs", "listDataflowEndpointGroups", "listGroundStations", "listMissionProfiles", "listSatellites"];
    cancelContact: (params: ParamsFrom<'cancelContact', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelContact'>>;
    createConfig: (params: ParamsFrom<'createConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'createConfig'>>;
    createDataflowEndpointGroup: (params: ParamsFrom<'createDataflowEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataflowEndpointGroup'>>;
    createMissionProfile: (params: ParamsFrom<'createMissionProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createMissionProfile'>>;
    deleteConfig: (params: ParamsFrom<'deleteConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteConfig'>>;
    deleteDataflowEndpointGroup: (params: ParamsFrom<'deleteDataflowEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataflowEndpointGroup'>>;
    deleteMissionProfile: (params: ParamsFrom<'deleteMissionProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMissionProfile'>>;
    describeContact: (params: ParamsFrom<'describeContact', Record<string, never>>) => Promise<ReturnTypeFrom<'describeContact'>>;
    getConfig: (params: ParamsFrom<'getConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'getConfig'>>;
    getDataflowEndpointGroup: (params: ParamsFrom<'getDataflowEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getDataflowEndpointGroup'>>;
    getMinuteUsage: (params: ParamsFrom<'getMinuteUsage', Record<string, never>>) => Promise<ReturnTypeFrom<'getMinuteUsage'>>;
    getMissionProfile: (params: ParamsFrom<'getMissionProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'getMissionProfile'>>;
    getSatellite: (params: ParamsFrom<'getSatellite', Record<string, never>>) => Promise<ReturnTypeFrom<'getSatellite'>>;
    listConfigs(params: {
        [K in keyof ParamsFrom<'listConfigs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listConfigs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listConfigs'>]-?: ReturnTypeFrom<'listConfigs'>[K];
        }['configList'];
    }>;
    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];
        }['contactList'];
    }>;
    listDataflowEndpointGroups(params: {
        [K in keyof ParamsFrom<'listDataflowEndpointGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDataflowEndpointGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDataflowEndpointGroups'>]-?: ReturnTypeFrom<'listDataflowEndpointGroups'>[K];
        }['dataflowEndpointGroupList'];
    }>;
    listGroundStations(params: {
        [K in keyof ParamsFrom<'listGroundStations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listGroundStations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listGroundStations'>]-?: ReturnTypeFrom<'listGroundStations'>[K];
        }['groundStationList'];
    }>;
    listMissionProfiles(params: {
        [K in keyof ParamsFrom<'listMissionProfiles', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMissionProfiles', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMissionProfiles'>]-?: ReturnTypeFrom<'listMissionProfiles'>[K];
        }['missionProfileList'];
    }>;
    listSatellites(params: {
        [K in keyof ParamsFrom<'listSatellites', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSatellites', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSatellites'>]-?: ReturnTypeFrom<'listSatellites'>[K];
        }['satellites'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    reserveContact: (params: ParamsFrom<'reserveContact', Record<string, never>>) => Promise<ReturnTypeFrom<'reserveContact'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateConfig: (params: ParamsFrom<'updateConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConfig'>>;
    updateMissionProfile: (params: ParamsFrom<'updateMissionProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMissionProfile'>>;
    static fromClient(client: AWSGroundStation): GroundStation;
    static client(options?: AWSGroundStation.Types.ClientConfiguration): GroundStation;
}
export {};
