import type * as Y from 'yjs'; import { z } from 'zod'; import { Boxed, Text } from '../../reactive/index.js'; import type { BaseBlockTransformer } from '../../transformer/base.js'; import type { BlockModel } from './block-model.js'; export type RoleType = 'root' | 'content' | string; export interface InternalPrimitives { Text: (input?: Y.Text | string) => Text; Boxed: (input: T) => Boxed; } export declare const internalPrimitives: InternalPrimitives; export declare const BlockSchema: z.ZodObject<{ version: z.ZodNumber; model: z.ZodObject<{ role: z.ZodString; flavour: z.ZodString; parent: z.ZodOptional>; children: z.ZodOptional>; isFlatData: z.ZodOptional; props: z.ZodOptional], z.ZodUnknown>, z.ZodRecord>>; toModel: z.ZodOptional, z.ZodType, z.ZodTypeDef, BlockModel>>>; }, "strip", z.ZodTypeAny, { flavour: string; role: string; children?: string[] | undefined; parent?: string[] | undefined; isFlatData?: boolean | undefined; props?: ((args_0: InternalPrimitives, ...args: unknown[]) => Record) | undefined; toModel?: ((...args: unknown[]) => BlockModel) | undefined; }, { flavour: string; role: string; children?: string[] | undefined; parent?: string[] | undefined; isFlatData?: boolean | undefined; props?: ((args_0: InternalPrimitives, ...args: unknown[]) => Record) | undefined; toModel?: ((...args: unknown[]) => BlockModel) | undefined; }>; transformer: z.ZodOptional, z.ZodTypeDef, Map>], z.ZodUnknown>, z.ZodType, z.ZodTypeDef, BaseBlockTransformer>>>; }, "strip", z.ZodTypeAny, { version: number; model: { flavour: string; role: string; children?: string[] | undefined; parent?: string[] | undefined; isFlatData?: boolean | undefined; props?: ((args_0: InternalPrimitives, ...args: unknown[]) => Record) | undefined; toModel?: ((...args: unknown[]) => BlockModel) | undefined; }; transformer?: ((args_0: Map, ...args: unknown[]) => BaseBlockTransformer) | undefined; }, { version: number; model: { flavour: string; role: string; children?: string[] | undefined; parent?: string[] | undefined; isFlatData?: boolean | undefined; props?: ((args_0: InternalPrimitives, ...args: unknown[]) => Record) | undefined; toModel?: ((...args: unknown[]) => BlockModel) | undefined; }; transformer?: ((args_0: Map, ...args: unknown[]) => BaseBlockTransformer) | undefined; }>; export type BlockSchemaType = z.infer; export type PropsGetter = (internalPrimitives: InternalPrimitives) => Props; export declare function defineBlockSchema, Model extends BlockModel, Transformer extends BaseBlockTransformer>(options: { flavour: Flavour; metadata: Metadata; props?: (internalPrimitives: InternalPrimitives) => Props; toModel?: () => Model; transformer?: (transformerConfig: Map) => Transformer; }): { version: number; model: { props: PropsGetter; flavour: Flavour; } & Metadata; transformer?: (transformerConfig: Map) => Transformer; }; //# sourceMappingURL=zod.d.ts.map