/**
 * Error codes for Firebase-related operations
 */
export declare const FIREBASE_ERROR_CODES: {
    readonly INVALID_CONFIG: "ERR_FIREBASE_UTILS_INVALID_CONFIG";
    readonly MISSING_PROJECT_ID: "ERR_FIREBASE_UTILS_MISSING_PROJECT_ID";
    readonly ADMIN_INIT_FAILED: "ERR_FIREBASE_UTILS_ADMIN_INIT_FAILED";
    readonly CLIENT_INIT_FAILED: "ERR_FIREBASE_UTILS_CLIENT_INIT_FAILED";
    readonly EMULATOR_CONNECTION_FAILED: "ERR_FIREBASE_UTILS_EMULATOR_CONNECTION_FAILED";
    readonly VALIDATION_ERROR: "ERR_FIREBASE_UTILS_VALIDATION_ERROR";
    readonly AUTH_ERROR: "ERR_FIREBASE_AUTH_ERROR";
    readonly UNAUTHORIZED: "ERR_FIREBASE_UNAUTHORIZED";
    readonly PERMISSION_DENIED: "ERR_FIREBASE_PERMISSION_DENIED";
    readonly FIRESTORE_ERROR: "ERR_FIRESTORE_ERROR";
    readonly DOCUMENT_NOT_FOUND: "ERR_DOCUMENT_NOT_FOUND";
    readonly STORAGE_ERROR: "ERR_STORAGE_ERROR";
    readonly FILE_NOT_FOUND: "ERR_FILE_NOT_FOUND";
    readonly FUNCTIONS_ERROR: "ERR_FUNCTIONS_ERROR";
    readonly DATABASE_ERROR: "ERR_DATABASE_ERROR";
};
export type FirebaseErrorCode = typeof FIREBASE_ERROR_CODES[keyof typeof FIREBASE_ERROR_CODES];
/**
 * Extended error interface for Firebase operations
 */
export interface FirebaseError extends Error {
    /**
     * Error code from FIREBASE_ERROR_CODES
     */
    code: FirebaseErrorCode;
    /**
     * Additional error details
     */
    details?: unknown;
    /**
     * Original error that caused this error
     */
    cause?: unknown;
    /**
     * Timestamp when the error occurred
     */
    timestamp?: Date;
    /**
     * Additional context about where the error occurred
     */
    context?: Record<string, unknown>;
}
/**
 * Type guard to check if an error is a FirebaseError
 */
export declare function isFirebaseError(error: unknown): error is FirebaseError;
/**
 * Creates a standardized Firebase error object
 */
export declare function createFirebaseError(code: FirebaseErrorCode, message: string, options?: {
    cause?: unknown;
    details?: unknown;
    context?: Record<string, unknown>;
}): FirebaseError;
/**
 * Normalizes any error to a FirebaseError
 */
export declare function normalizeFirebaseError(error: unknown, defaultCode?: FirebaseErrorCode): FirebaseError;
//# sourceMappingURL=errors.d.ts.map