export * from './errors.js';
/**
 * Minimal Firebase configuration needed for our utilities
 */
export interface FirebaseUtilsConfig {
    /** Firebase project ID (required) */
    projectId: string;
    /** Whether to use emulators */
    useEmulators?: boolean;
    /** Firebase Admin SDK service account */
    serviceAccount?: {
        projectId: string;
        clientEmail: string;
        privateKey: string;
    } | string;
    /** Firebase client configuration */
    clientConfig?: {
        apiKey: string;
        authDomain: string;
        projectId: string;
        storageBucket?: string;
        messagingSenderId?: string;
        appId?: string;
        measurementId?: string;
    };
    /** Emulator hosts configuration */
    emulatorHosts?: {
        auth?: string;
        firestore?: string;
        database?: string;
        storage?: string;
        functions?: string;
    };
}
/**
 * Firebase Admin SDK instances
 */
export interface FirebaseAdminInstances {
    /** Firebase Admin App instance */
    adminApp: any;
    /** Firebase Admin Auth instance */
    adminAuth: any;
    /** Firestore instance */
    firestore: any;
    /** Realtime Database instance */
    database?: any;
    /** Storage instance */
    storage?: any;
}
/**
 * Firebase Client SDK instances
 */
export interface FirebaseClientInstances {
    /** Firebase App instance */
    app: any;
    /** Auth instance */
    auth: any;
    /** Firestore instance */
    firestore: any;
    /** Storage instance */
    storage?: any;
    /** Realtime Database instance */
    database?: any;
    /** Analytics instance */
    analytics?: any;
    /** Performance Monitoring instance */
    performance?: any;
}
//# sourceMappingURL=index.d.ts.map