import type { ServiceProvider } from '@blocksuite/global/di'; import { BlockModel, type DraftModel, type Store } from '../model/index.js'; import type { AssetsManager } from '../transformer/assets.js'; import type { Slice, Transformer } from '../transformer/index.js'; import type { BlockSnapshot, DocSnapshot, SliceSnapshot } from '../transformer/type.js'; import { ASTWalkerContext } from './context.js'; export type FromDocSnapshotPayload = { snapshot: DocSnapshot; assets?: AssetsManager; }; export type FromBlockSnapshotPayload = { snapshot: BlockSnapshot; assets?: AssetsManager; }; export type FromSliceSnapshotPayload = { snapshot: SliceSnapshot; assets?: AssetsManager; }; export type FromDocSnapshotResult = { file: Target; assetsIds: string[]; }; export type FromBlockSnapshotResult = { file: Target; assetsIds: string[]; }; export type FromSliceSnapshotResult = { file: Target; assetsIds: string[]; }; export type ToDocSnapshotPayload = { file: Target; assets?: AssetsManager; }; export type ToBlockSnapshotPayload = { file: Target; assets?: AssetsManager; }; export type ToSliceSnapshotPayload = { file: Target; assets?: AssetsManager; }; export declare function wrapFakeNote(snapshot: SliceSnapshot): void; export declare abstract class BaseAdapter { readonly provider: ServiceProvider; job: Transformer; get configs(): Map; constructor(job: Transformer, provider: ServiceProvider); fromBlock(model: BlockModel | DraftModel): Promise | undefined>; abstract fromBlockSnapshot(payload: FromBlockSnapshotPayload): Promise> | FromBlockSnapshotResult; fromDoc(doc: Store): Promise | undefined>; abstract fromDocSnapshot(payload: FromDocSnapshotPayload): Promise> | FromDocSnapshotResult; fromSlice(slice: Slice): Promise | undefined>; abstract fromSliceSnapshot(payload: FromSliceSnapshotPayload): Promise> | FromSliceSnapshotResult; toBlock(payload: ToBlockSnapshotPayload, doc: Store, parent?: string, index?: number): Promise | undefined>; abstract toBlockSnapshot(payload: ToBlockSnapshotPayload): Promise | BlockSnapshot; toDoc(payload: ToDocSnapshotPayload): Promise; abstract toDocSnapshot(payload: ToDocSnapshotPayload): Promise | DocSnapshot; toSlice(payload: ToSliceSnapshotPayload, doc: Store, parent?: string, index?: number): Promise; abstract toSliceSnapshot(payload: ToSliceSnapshotPayload): Promise | SliceSnapshot | null; } type Keyof = T extends unknown ? keyof T : never; type WalkerFn = (o: NodeProps, context: ASTWalkerContext) => Promise | void; export type NodeProps = { node: Node; next?: Node | null; parent: NodeProps | null; prop: Keyof | null; index: number | null; }; export declare class ASTWalker { private _enter; private _isONode; private _leave; private readonly _visit; private readonly context; setEnter: (fn: WalkerFn) => void; setLeave: (fn: WalkerFn) => void; setONodeTypeGuard: (fn: (node: unknown) => node is ONode) => void; walk: (oNode: ONode, tNode: TNode) => Promise; walkONode: (oNode: ONode) => Promise; constructor(); } export {}; //# sourceMappingURL=base.d.ts.map