import { getCachedCredentials } from '../utils/aws.sso.cache.util.js';
import { AwsSsoAccountWithRoles, AwsCredentials, GetCredentialsParams, ListAccountsParams, ListAccountsResponse, ListAccountRolesParams, ListAccountRolesResponse } from './vendor.aws.sso.types.js';
/**
 * List AWS SSO accounts for the authenticated user
 *
 * Retrieves the list of AWS accounts that the user has access to via SSO.
 * Requires an active SSO token.
 *
 * @param {ListAccountsParams} [params={}] - Optional parameters for customizing the request
 * @param {number} [params.maxResults] - Maximum number of accounts to return
 * @param {string} [params.nextToken] - Pagination token for subsequent requests
 * @returns {Promise<ListAccountsResponse>} List of AWS SSO accounts and pagination token if available
 * @throws {Error} If SSO token is missing or API request fails
 */
declare function listSsoAccounts(params?: ListAccountsParams): Promise<ListAccountsResponse>;
/**
 * List roles for a specific AWS SSO account
 *
 * Retrieves the list of roles that the user can assume in the specified AWS account.
 * Requires an active SSO token.
 *
 * @param {ListAccountRolesParams} params - Parameters for the request
 * @param {string} params.accountId - AWS account ID to list roles for
 * @param {number} [params.maxResults] - Maximum number of roles to return
 * @param {string} [params.nextToken] - Pagination token for subsequent requests
 * @returns {Promise<ListAccountRolesResponse>} List of AWS SSO roles and pagination token if available
 * @throws {Error} If SSO token is missing or API request fails
 */
declare function listAccountRoles(params: ListAccountRolesParams): Promise<ListAccountRolesResponse>;
/**
 * Get temporary AWS credentials for a role via SSO
 *
 * Retrieves temporary AWS credentials for the specified account and role.
 * Requires an active SSO token.
 *
 * @param {GetCredentialsParams} params - Parameters for the request
 * @param {string} params.accountId - AWS account ID
 * @param {string} params.roleName - Role name to assume
 * @param {string} [params.region] - Optional AWS region override
 * @returns {Promise<AwsCredentials>} Temporary AWS credentials
 * @throws {Error} If SSO token is missing or API request fails
 */
declare function getAwsCredentials(params: GetCredentialsParams): Promise<AwsCredentials>;
/**
 * Get all AWS accounts with their available roles
 *
 * Retrieves a combined view of all accounts and their roles that the user has access to.
 * This is a convenience function that combines listSsoAccounts and listAccountRoles.
 *
 * @param {ListAccountsParams} [params={}] - Optional parameters for customizing the request
 * @param {number} [params.maxResults] - Maximum number of accounts to return
 * @param {string} [params.nextToken] - Pagination token for subsequent requests
 * @returns {Promise<AwsSsoAccountWithRoles[]>} List of AWS accounts with their roles
 * @throws {Error} If SSO token is missing or API request fails
 */
declare function getAccountsWithRoles(params?: ListAccountsParams): Promise<AwsSsoAccountWithRoles[]>;
export { listSsoAccounts, listAccountRoles, getAwsCredentials, getAccountsWithRoles, getCachedCredentials, };
