import { type $Typed, type AtUriString } from '@atproto/lex-schema'; import { type ExternalRecord } from '../hydration/external.js'; import type { HydrationState } from '../hydration/hydrator.js'; import type { Views } from './index.js'; import type { ExternalRecordView } from './types.js'; export declare const LIVESTREAM_HEARTBEAT_WINDOW_MS: number; /** * Build a modality view from validated, available records in hydration state. * With `cid`, the root comes from the exact version in `externalRecordsByRef` * (never falling back to latest); everything else stays URI-based. */ export declare function externalRecordView(views: Views, uri: AtUriString, state: HydrationState, now: number, cid?: string): $Typed | undefined; /** Resolve renderable view dependencies without constructing presentation fields. */ export declare function externalRecordViewRefs(views: Views, uri: AtUriString, state: HydrationState): AtUriString[] | undefined; /** Whether a selected record passes shared block, review, and takedown checks. */ export declare function isRecordAvailable(info: ExternalRecord | null | undefined, uri: AtUriString, state: HydrationState, views: Views): info is ExternalRecord; //# sourceMappingURL=external.d.ts.map