import { Request, SSO as AWSSSO } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSSSO> = AWSSSO[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSSSO, Extras> = AWSSSO[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class SSO {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "portal";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly [];
    getRoleCredentials: (params: ParamsFrom<'getRoleCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'getRoleCredentials'>>;
    listAccountRoles(params: {
        [K in keyof ParamsFrom<'listAccountRoles', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccountRoles', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccountRoles'>]-?: ReturnTypeFrom<'listAccountRoles'>[K];
        }['roleList'];
    }>;
    listAccounts(params: {
        [K in keyof ParamsFrom<'listAccounts', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccounts', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccounts'>]-?: ReturnTypeFrom<'listAccounts'>[K];
        }['accountList'];
    }>;
    logout: (params: ParamsFrom<'logout', Record<string, never>>) => Promise<ReturnTypeFrom<'logout'>>;
    static fromClient(client: AWSSSO): SSO;
    static client(options?: AWSSSO.Types.ClientConfiguration): SSO;
}
export {};
