/** Legacy entry used for AFFiNE ESM module compat */
import type { BlockSchema } from '@blockeditor/store';
import type { z } from 'zod';
import { type AttachmentBlockModel } from './attachment-block/attachment-model.js';
import type { BookmarkBlockModel } from './bookmark-block/bookmark-model.js';
import { type CodeBlockModel } from './code-block/code-model.js';
import type { DataViewBlockModel } from './data-view-block/data-view-model.js';
import type { DatabaseBlockModel } from './database-block/database-model.js';
import type { DividerBlockModel } from './divider-block/divider-model.js';
import type { FrameBlockModel } from './frame-block/frame-model.js';
import type { ImageBlockModel } from './image-block/image-model.js';
import type { ListBlockModel } from './list-block/list-model.js';
import type { NoteBlockModel } from './note-block/note-model.js';
import type { PageBlockModel } from './page-block/page-model.js';
import type { ParagraphBlockModel } from './paragraph-block/paragraph-model.js';
import type { SurfaceBlockModel } from './surface-block/surface-model.js';
import type { SurfaceRefBlockModel } from './surface-ref-block/surface-ref-model.js';
export type { AttachmentBlockModel, BookmarkBlockModel, CodeBlockModel, DatabaseBlockModel, DataViewBlockModel, DividerBlockModel, FrameBlockModel, ImageBlockModel, ListBlockModel, NoteBlockModel, PageBlockModel, ParagraphBlockModel, SurfaceBlockModel, };
/** Built-in first party block models built for affine */
export declare const AffineSchemas: z.infer<typeof BlockSchema>[];
export declare const __unstableSchemas: ({
    version: number;
    model: {
        role: "root" | "hub" | "content";
        props: import("@blockeditor/store").PropsGetter<import("./attachment-block/attachment-model.js").AttachmentBlockProps>;
        flavour: "affine:attachment";
    } & {
        version: number;
        role: "content";
        parent: string[];
    };
    onUpgrade?: ((data: import("./attachment-block/attachment-model.js").AttachmentBlockProps, previousVersion: number, latestVersion: number) => void) | undefined;
    transformer?: (() => import("@blockeditor/store").BaseBlockTransformer<import("./attachment-block/attachment-model.js").AttachmentBlockProps>) | undefined;
} | {
    version: number;
    model: {
        role: "root" | "hub" | "content";
        props: import("@blockeditor/store").PropsGetter<{
            views: import("./data-view-block/data-view-model.js").DataView[];
        }>;
        flavour: "affine:data-view";
    } & {
        role: "hub";
        version: number;
        parent: string[];
        children: string[];
    };
    onUpgrade?: ((data: {
        views: import("./data-view-block/data-view-model.js").DataView[];
    }, previousVersion: number, latestVersion: number) => void) | undefined;
    transformer?: (() => import("@blockeditor/store").BaseBlockTransformer<{
        views: import("./data-view-block/data-view-model.js").DataView[];
    }>) | undefined;
} | {
    version: number;
    model: {
        flavour: string;
        role: "root" | "hub" | "content";
        parent?: string[] | undefined;
        children?: string[] | undefined;
        props?: ((args_0: import("@blockeditor/store").InternalPrimitives, ...args_1: unknown[]) => Record<string, any>) | undefined;
        toModel?: ((...args: unknown[]) => import("@blockeditor/store").BlockModel<object>) | undefined;
    };
    transformer?: ((...args: unknown[]) => import("@blockeditor/store").BaseBlockTransformer<object>) | undefined;
    onUpgrade?: ((args_0: any, args_1: number, args_2: number, ...args_3: unknown[]) => void) | undefined;
})[];
export type BlockSchemas = {
    'affine:code': CodeBlockModel;
    'affine:paragraph': ParagraphBlockModel;
    'affine:page': PageBlockModel;
    'affine:list': ListBlockModel;
    'affine:note': NoteBlockModel;
    'affine:divider': DividerBlockModel;
    'affine:image': ImageBlockModel;
    'affine:surface': SurfaceBlockModel;
    'affine:frame': FrameBlockModel;
    'affine:database': DatabaseBlockModel;
    'affine:data-view': DataViewBlockModel;
    'affine:bookmark': BookmarkBlockModel;
    'affine:attachment': AttachmentBlockModel;
    'affine:surface-ref': SurfaceRefBlockModel;
};
export type Flavour = keyof BlockSchemas;
//# sourceMappingURL=models.d.ts.map