export interface AuthStatus {
    isAuthenticated: boolean;
    method: 'oauth' | 'api_key' | 'session';
    userInfo?: UserInfo;
    timestamp?: number;
}
export interface UserInfo {
    email?: string;
    name?: string;
    planType?: string;
    quotaRemaining?: number;
}
export interface AuthResult {
    success: boolean;
    status: AuthStatus;
    error?: string;
    requiresAction: boolean;
    actionInstructions?: string;
}
export interface VerificationResult {
    overall: boolean;
    services: Record<string, AuthResult>;
    recommendations: string[];
}
export interface FailureTracking {
    count: number;
    firstFailureTime: number;
    lastFailureTime: number;
}
export interface CachedAuth {
    auth: AuthResult;
    expiry: number;
    service: string;
}
export interface OAuthStatus {
    isAuthenticated: boolean;
    method: 'oauth' | 'api_key';
    userInfo?: UserInfo;
    tokenExpiry?: number;
}
export interface SetupOptions {
    service?: string;
    method?: 'oauth' | 'apikey';
    interactive?: boolean;
    resetCache?: boolean;
}
export type ServiceType = 'gemini' | 'aistudio' | 'claude';
export type AuthMethod = 'oauth' | 'api_key' | 'session';
export interface GeminiAuthResponse {
    access_token?: string;
    refresh_token?: string;
    expires_in?: number;
    token_type?: string;
}
export interface AIStudioResponse {
    status: 'success' | 'error';
    data?: unknown;
    error?: string;
}
//# sourceMappingURL=types.d.ts.map