import type { FromBlockSnapshotPayload, FromBlockSnapshotResult, FromPageSnapshotPayload, FromPageSnapshotResult, FromSliceSnapshotPayload, FromSliceSnapshotResult, ToBlockSnapshotPayload, ToPageSnapshotPayload } from '@blockeditor/store';
import { type AssetsManager } from '@blockeditor/store';
import { type BlockSnapshot, type PageSnapshot, type SliceSnapshot } from '@blockeditor/store';
import { BaseAdapter } from '@blockeditor/store';
export type Markdown = string;
type MarkdownToSliceSnapshotPayload = {
    file: Markdown;
    assets?: AssetsManager;
    blockVersions: Record<string, number>;
    pageVersion: number;
    workspaceVersion: number;
    workspaceId: string;
    pageId: string;
};
export declare class MarkdownAdapter extends BaseAdapter<Markdown> {
    fromPageSnapshot({ snapshot, assets, }: FromPageSnapshotPayload): Promise<FromPageSnapshotResult<Markdown>>;
    fromBlockSnapshot({ snapshot, assets, }: FromBlockSnapshotPayload): Promise<FromBlockSnapshotResult<Markdown>>;
    fromSliceSnapshot({ snapshot, assets, }: FromSliceSnapshotPayload): Promise<FromSliceSnapshotResult<Markdown>>;
    toPageSnapshot(payload: ToPageSnapshotPayload<Markdown>): Promise<PageSnapshot>;
    toBlockSnapshot(payload: ToBlockSnapshotPayload<Markdown>): Promise<BlockSnapshot>;
    toSliceSnapshot(payload: MarkdownToSliceSnapshotPayload): Promise<SliceSnapshot | null>;
    private _traverseSnapshot;
    private _traverseMarkdown;
    private _astToMarkdown;
    private _markdownToAst;
    private _deltaToMdAST;
    private _mdastToDelta;
}
export {};
//# sourceMappingURL=markdown.d.ts.map