/**
 * Refresh token exchange functionality
 * Uses Firebase REST API to exchange refresh tokens for ID tokens
 *
 * Note: The Firebase SDK doesn't expose a direct "exchange refresh token" method
 * for stateless CLI use. The SDK handles this internally via user.getIdToken(),
 * but that requires an active User session. For CLI tools that store refresh tokens
 * and need to exchange them on cold start, we use the REST API directly.
 *
 * Sign-in with email/password uses the Firebase SDK (see loader.ts).
 */
/**
 * Result from exchanging a refresh token
 */
export type RefreshTokenResult = {
    idToken: string;
    refreshToken: string;
    expiresIn: number;
};
/**
 * Exchange a Firebase refresh token for a new ID token
 * @param args - The exchange parameters
 * @param args.refreshToken - The refresh token to exchange
 *
 * @returns The new ID token and refresh token
 */
export declare const exchangeRefreshToken: (args: {
    refreshToken: string;
}) => Promise<RefreshTokenResult>;
/**
 * Clear the refresh token cache
 * Useful for testing
 */
export declare const clearRefreshTokenCache: () => void;
//# sourceMappingURL=refreshToken.d.ts.map