import type { SyncedBlockSSRErrorAEP } from '../analytics/types/sync-block-events';
import { SyncedBlocksSSRErrorCodeMap } from './SyncedBlocksSSRErrorCodeMap';
type BlockNodeIdentifiers = {
    blockInstanceId: string;
    resourceId: string;
};
export type SyncedBlocksSSRErrorCode = (typeof SyncedBlocksSSRErrorCodeMap)[keyof typeof SyncedBlocksSSRErrorCodeMap];
/**
 * This is the metadata structure for SSR errors stored in the window object.
 */
export type SyncedBlocksSSRErrorMetadata = {
    cloudId?: string;
    code: SyncedBlocksSSRErrorCode;
    contentId?: string;
    errorMessage?: string;
    errorName?: string;
    identifiers?: BlockNodeIdentifiers[];
    isBlog?: boolean;
    missingIdentifiers?: BlockNodeIdentifiers[];
};
/**
 * Fire analytics event for the first unprocessed SSR error that occurred during page rendering.
 * This function only runs ONCE per browser session to avoid duplicate analytics events.
 *
 * @param fireAnalyticsEvent - Function to fire analytics events
 */
export declare const handleSSRErrorsAnalytics: (fireAnalyticsEvent?: (event: SyncedBlockSSRErrorAEP) => void) => void;
export { SyncedBlocksSSRErrorCodeMap } from './SyncedBlocksSSRErrorCodeMap';
