import { User } from "firebase/auth";
import { SocialLoginResponse } from "./services";
export interface GoogleAuthResult {
    success: boolean;
    user?: SocialLoginResponse;
    error?: string;
}
/**
 * Sign in with custom token and get Firebase ID token and refresh token
 */
export declare const signInWithCustomTokenAndGetIdToken: (customToken: string) => Promise<{
    success: boolean;
    idToken?: string;
    refreshToken?: string;
    error?: string;
}>;
/**
 * Sign in with Google using Firebase Auth
 */
export declare const signInWithGoogle: (apiKey: string) => Promise<GoogleAuthResult>;
export interface TwitterAuthResult {
    success: boolean;
    user?: SocialLoginResponse;
    error?: string;
}
/**
 * Sign in with Twitter (X) using Firebase Auth
 */
export declare const signInWithX: (apiKey: string) => Promise<TwitterAuthResult>;
/**
 * Sign out the current user
 */
export declare const signOutUser: () => Promise<boolean>;
/**
 * Get the current authenticated user
 */
export declare const getCurrentUser: () => User | null;
/**
 * Listen to authentication state changes
 */
export declare const onAuthStateChange: (callback: (user: User | null) => void) => import("@firebase/util").Unsubscribe;
