import { LayoutSourceIdentity } from '../../../../contracts/src/index.js';
export type PaintSnapshotStructuredContentBlockEntity = {
    element: HTMLElement;
    pageIndex: number;
    sdtId: string;
    pmStart?: number;
    pmEnd?: number;
    layoutSourceIdentity?: LayoutSourceIdentity;
};
export type PaintSnapshotStructuredContentInlineEntity = {
    element: HTMLElement;
    pageIndex: number;
    sdtId: string;
    pmStart?: number;
    pmEnd?: number;
    layoutSourceIdentity?: LayoutSourceIdentity;
};
export type SdtSnapshotEntities = {
    structuredContentBlocks: PaintSnapshotStructuredContentBlockEntity[];
    structuredContentInlines: PaintSnapshotStructuredContentInlineEntity[];
};
type CollectSdtSnapshotEntitiesOptions = {
    resolvePageIndex: (element: HTMLElement) => number | null;
    readDatasetNumber: (value: string | null | undefined) => number | null;
    readLayoutSourceIdentity?: (element: HTMLElement) => LayoutSourceIdentity | undefined;
    compactObject: <T extends Record<string, unknown>>(input: T) => T;
};
export declare const collectSdtSnapshotEntitiesFromDomRoot: (rootEl: HTMLElement, options: CollectSdtSnapshotEntitiesOptions) => SdtSnapshotEntities;
export {};
//# sourceMappingURL=snapshot.d.ts.map