import type { LifeCycle, RumConfiguration, ViewHistory } from '@flashcatcloud/browser-rum-core'; import type { BrowserRecord } from '../../types'; import type { ShadowRootsController } from './shadowRootsController'; export interface RecordOptions { emit?: (record: BrowserRecord) => void; configuration: RumConfiguration; lifeCycle: LifeCycle; viewHistory: ViewHistory; } export interface RecordAPI { stop: () => void; flushMutations: () => void; /** * Re-serializes the document so that the records that follow are replayable on their own. Needed * when a withheld replay buffer is dropped, since it takes its full snapshot with it. */ takeSubsequentFullSnapshot: () => void; shadowRootsController: ShadowRootsController; } export declare function record(options: RecordOptions): RecordAPI;