import type { BlockDefinition, PageBlock, ValidateBlocksResult } from './types'; export declare function defineBlock(definition: BlockDefinition): BlockDefinition; /** Register blocks. Later registrations win, so an app can replace a default. */ export declare function registerBlocks(definitions: BlockDefinition[]): void; export declare function getBlock(type: string): BlockDefinition | undefined; export declare function allBlocks(): BlockDefinition[]; /** * Validate an untrusted block document (dashboard save, API write) into a * typed one. Unknown block types, unknown props, missing required props and * failed rules all reject - a page document is either fully valid or not * stored. */ export declare function validateBlocks(input: unknown): Promise; /** * Parse a stored `blocks` column. Storage is trusted (it passed * validateBlocks on the way in), so this only guards shape, not schemas - * a render must not 500 because a block type was since unregistered. */ export declare function parseStoredBlocks(stored: unknown): PageBlock[];