export interface GoogleSignInUser { id: string; name: string; email: string; photo?: string; } export interface GoogleSignInResult { idToken: string; user: GoogleSignInUser; data?: { idToken: string; }; } export interface GoogleSignInError { code: string | number; message: string; } export interface GoogleSignInConfig { webClientId: string; androidClientId?: string; iosClientId?: string; } declare class GoogleSignInService { private webClientId; private isConfigured; constructor(); /** * Configure Google Sign-In with your OAuth 2.0 client IDs * @param config Configuration object with client IDs */ configure(config: GoogleSignInConfig): Promise; /** * Start the Google Sign-In flow * @returns Promise that resolves to GoogleSignInResult */ signIn(): Promise; /** * Sign out the current user * @returns Promise that resolves when sign out is complete */ signOut(): Promise; /** * Revoke access token and sign out * @returns Promise that resolves when revocation is complete */ revokeAccess(): Promise; /** * Get the currently signed in user * @returns Promise that resolves to GoogleSignInResult or null */ getCurrentUser(): Promise; /** * Check if user is currently signed in * @returns Promise that resolves to boolean */ isSignedIn(): Promise; private handleError; } export declare const GoogleSignIn: GoogleSignInService; export default GoogleSignIn; export { useGoogleSignIn } from './hooks/useGoogleSignIn'; export { GoogleSignInButton } from './components/GoogleSignInButton';