import { type UseSchemaControllerOptions } from '../hooks/useSchemaController.js'; import type { LooseSupabaseClient } from '../service.js'; import type { AppScope } from '../types.js'; import { type CommandPaletteNavTarget } from './CommandPalette.js'; export interface SchemaBuilderProps { supabase: LooseSupabaseClient; tenantId: string | null; appScope?: AppScope; /** Targets for the `Go to ` Cmd+K command. */ navigationTargets?: CommandPaletteNavTarget[]; /** Called by Cmd+K palette when a nav target is picked. */ onNavigate?: (path: string) => void; /** Called on mutation / validation errors. */ onError?: UseSchemaControllerOptions['onError']; /** Called on successful mutation. */ onSuccess?: UseSchemaControllerOptions['onSuccess']; /** Disable Cmd+K palette. Default: enabled. */ disableCommandPalette?: boolean; /** Disable Supabase Realtime subscription. Default: enabled. */ disableRealtime?: boolean; } /** * Imperative handle exposed by ``. Consumer thin * wrappers use this to trigger actions from their own app-chrome (e.g. a * "+ New Entity" button in the page header that opens the create panel). */ export interface SchemaBuilderHandle { /** Open the properties panel in create mode. */ openCreateEntity: () => void; /** Pan+zoom the canvas to a specific entity. */ focusEntity: (entityId: string) => void; /** Auto-arrange nodes via dagre (ยง3.6 item 3). */ tidyUp: () => void; } /** * Canonical Schema Builder surface. Consumer thin wrappers render this * component and provide the Supabase client + tenantId + navigation targets. */ export declare const SchemaBuilder: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=SchemaBuilder.d.ts.map