import { SSOOIDCClient, CreateTokenCommandOutput, RegisterClientCommandOutput, StartDeviceAuthorizationCommandOutput } from "@aws-sdk/client-sso-oidc"; import { SSOClient, AccountInfo } from "@aws-sdk/client-sso"; export interface SsoRoleInfo { roleName: string; accountId: string; accountName: string; } export interface OpenVerificationUriCompletePage { open(uri: string): void; } export declare class SsoProvider { private openVerificationUriCompletePage; constructor(openVerificationUriCompletePage: OpenVerificationUriCompletePage); getSsoOidcClient(region: string): SSOOIDCClient; getSsoClient(region: string): SSOClient; registerClientCommand(client: SSOOIDCClient): Promise; startDeviceAuthCommand(client: SSOOIDCClient, registeredClient: RegisterClientCommandOutput, portalUrl: string): Promise; waitForToken(client: SSOOIDCClient, registeredClient: RegisterClientCommandOutput, deviceAuth: StartDeviceAuthorizationCommandOutput): Promise; createToken(client: SSOOIDCClient, registeredClient: RegisterClientCommandOutput, deviceAuth: StartDeviceAuthorizationCommandOutput): Promise; getAccounts(client: SSOClient, accessToken: string): Promise; getRoles(client: SSOClient, accessToken: string, account: AccountInfo): Promise; getSsoRoles(region: string, portalUrl: string): Promise; }