import { Slot } from '@revesuite/global/utils'; import type { BlockSuiteDoc, BlockSuiteDocData } from '../../yjs/index.js'; import type { YBlock } from '../page.js'; type PageId = string; export type IndexBlockEvent = { pageId: PageId; blockId: string; action: 'add' | 'update'; block: YBlock; } | { pageId: PageId; blockId: string; action: 'delete'; block?: undefined; }; export declare class BlockIndexer { private readonly _doc; private readonly _workspaceSlots; private _disposables; slots: { pageRemoved: Slot; /** * Note: sys:children update will not trigger event */ blockUpdated: Slot; refreshIndex: Slot; }; constructor(doc: BlockSuiteDoc, { immediately, slots, }: { readonly slots: { pageAdded: Slot; pageRemoved: Slot; }; immediately?: boolean; }); private _initIndex; private _indexPage; private _indexBlock; private _yPageObserver; private _getPage; refreshIndex(): void; dispose(): void; } export {}; //# sourceMappingURL=base.d.ts.map