interface GoogleUserInfo { sub: string; email: string; email_verified: boolean; name?: string; picture?: string; given_name?: string; family_name?: string; locale?: string; aud: string; iss: string; exp: number; iat: number; } interface OAuthUser { id: string; email: string; name?: string; avatar?: string; provider: "google"; emailVerified: boolean; metadata?: { givenName?: string; familyName?: string; locale?: string; }; } declare function getGoogleOAuthURL(options?: { state?: string; scopes?: string[]; loginHint?: string; prompt?: "none" | "consent" | "select_account"; accessType?: "online" | "offline"; includeGrantedScopes?: boolean; redirectUri?: string; }): string; declare function handleGoogleCallback(code: string, options?: { skipEmailVerification?: boolean; redirectUri?: string; includeTokens?: boolean; }): Promise; /** * Revoke Google OAuth tokens */ declare function revokeGoogleTokens(token: string): Promise; /** * Validate Google ID token (lightweight, no external dependencies) */ declare function validateGoogleIdToken(idToken: string): Promise; /** * Generate a secure state parameter for CSRF protection */ declare function generateOAuthState(data?: any): string; /** * Parse OAuth state parameter */ declare function parseOAuthState(state: string): { token: string; data?: any; }; /** * Reset cached configuration (useful for testing) */ declare function resetGoogleOAuthConfig(): void; export { generateOAuthState, getGoogleOAuthURL, handleGoogleCallback, parseOAuthState, resetGoogleOAuthConfig, revokeGoogleTokens, validateGoogleIdToken };