import type { ActionResultInput, ScreenTreeInput, SurfaceDefinition } from './schema.js'; export type ScreenParams = Record; export type LoadHandler = (ctx: Ctx, params: ScreenParams) => ScreenTreeInput | Promise; export type ActionHandler = (ctx: Ctx, input: Record, params: ScreenParams) => ActionResultInput | Promise; export interface ScreenDefinition { load: LoadHandler; actions?: Record>; } /** * Identity function (the defineProvider pattern): exists for inference and * cheap authoring-time validation, not runtime behavior. */ export declare function defineScreen(screen: ScreenDefinition): ScreenDefinition; /** Define surface metadata. The filesystem supplies its key, root screen, and child ownership. */ export declare function defineSurface(surface: SurfaceDefinition): SurfaceDefinition;