import type { ActionProgramDefinition, RevisionRef } from "../contracts/declarative-control"; import type { SchemaDefinition } from "../contracts/semantic"; export interface ProgramCapability { input: unknown; result: unknown; } export type ProgramCapabilityMap = Record; export interface ActionProgramContext = Record, S extends Record = Record, R extends string = string> { query(id: K, input: Q[K]["input"]): Promise; command(id: K, input: C[K]["input"], options: { stepKey: string; }): Promise; ui: { form(schemaId: K, value: F[K]): Promise<{ status: "submitted"; value: F[K]; } | { status: "cancelled"; }>; toast(message: string, tone: "success" | "error" | "info"): Promise; refresh(alias: R): Promise; download(handle: string): Promise<{ status: "started"; }>; }; state: { get(alias: K): Promise; set(alias: K, value: S[K]): Promise; }; } export interface ProgramSchemaRegistration { definitionRevisionRef: RevisionRef; definition: SchemaDefinition; } /** Strict structural projection. Validation-only keywords remain enforced by runtime AJV. */ export declare function programSchemaType(schema: unknown, path?: string, depth?: number): string; export declare function generateActionProgramTypes(definition: ActionProgramDefinition, schemas: readonly ProgramSchemaRegistration[]): string; /** Validates JSON values without imposing a component render-model object shape. */ export declare function compileProgramValueValidator(schema: Record, documents?: readonly Record[]): import("ajv/dist/types").ValidateFunction; //# sourceMappingURL=action-program-author.d.ts.map