import { AwsCredentials, SsoToken, DeviceAuthorizationInfo } from '../services/vendor.aws.sso.types.js';
import { AwsSsoAccount, AwsSsoAccountRole } from '../services/aws.sso.types.js';
/**
 * Get cached SSO token
 * @returns Cached SSO token or undefined if not found or expired
 */
export declare function getCachedSsoToken(): Promise<SsoToken | undefined>;
/**
 * Save SSO token to cache
 * @param token SSO token to save
 */
export declare function saveSsoToken(token: SsoToken): Promise<void>;
/**
 * Get cached AWS credentials for account and role
 * @param accountId AWS account ID
 * @param roleName AWS role name
 * @returns AWS credentials or undefined if not found
 */
export declare function getCachedCredentials(accountId: string, roleName: string): Promise<AwsCredentials | undefined>;
/**
 * Save AWS credentials to cache
 * @param accountId AWS account ID
 * @param roleName AWS role name
 * @param credentials AWS credentials to save
 */
export declare function saveCachedCredentials(accountId: string, roleName: string, credentials: AwsCredentials): Promise<void>;
/**
 * Cache device authorization info
 * @param info Device authorization info to cache
 */
export declare function cacheDeviceAuthorizationInfo(info: DeviceAuthorizationInfo): Promise<void>;
/**
 * Get cached device authorization info
 * @returns Device authorization info from cache or undefined if not found
 */
export declare function getCachedDeviceAuthorizationInfo(): Promise<DeviceAuthorizationInfo | undefined>;
/**
 * Clear device authorization info from cache
 * @returns Promise that resolves when the operation completes
 */
export declare function clearDeviceAuthorizationInfo(): Promise<void>;
/**
 * Get cached roles for an AWS account
 * @param accountId AWS account ID
 * @returns List of roles or empty array if none found
 */
export declare function getCachedAccountRoles(accountId: string): Promise<AwsSsoAccountRole[]>;
/**
 * Save roles for an AWS account to cache
 * @param account AWS account
 * @param roles List of roles to save
 */
export declare function saveAccountRoles(account: AwsSsoAccount, roles: AwsSsoAccountRole[]): Promise<void>;
/**
 * Clear the cached SSO token
 */
export declare function clearSsoToken(): Promise<void>;
/**
 * Save data to the MCP AWS SSO cache file
 * @param data The data to save
 */
