import type { BlockReadProps, BlockEditProps } from "../types.js"; import { type TabsData } from "./tabs.config.js"; /** Read renderer: pill tabs, child blocks rendered read-only via the app. */ export declare function TabsBlockReader({ data, blockId, title, ctx, }: BlockReadProps): import("react").JSX.Element; /** * Editor: pill tabs plus tab management (add/remove/rename), with child blocks * rendered editable in place through the app dispatcher. A child change updates * that child within its tab and commits the whole tabs block — mirroring the * legacy `TabsBlock` onChange bubbling so the plan's recursive `updateBlocks`/ * `findBlock` (`PlanContentRenderer`) keeps working unchanged. */ export declare function TabsBlockEditor({ data, onChange, editable, blockId, title, ctx, }: BlockEditProps): import("react").JSX.Element; /** * The standard tabs block spec (with React `Read`/`Edit`). Apps register this in * their browser registry. The schema + MDX config come from `./tabs.config.ts`, * the exact same object server / agent code registers, so rendering and source * round-trip never drift. */ export declare const tabsBlock: import("../types.js").BlockSpec; //# sourceMappingURL=tabs.d.ts.map