import { OperationRegistry } from '../contract/operation-registry.js'; import { OperationId } from '../contract/types.js'; import { DocumentApi } from '../index.js'; type DispatchOutput = K extends 'mutations.preview' | 'mutations.apply' ? Promise : K extends 'plan.execute' ? OperationRegistry[K]['output'] | Promise : OperationRegistry[K]['output']; type TypedDispatchHandler = OperationRegistry[K]['options'] extends never ? (input: OperationRegistry[K]['input']) => DispatchOutput : (input: OperationRegistry[K]['input'], options?: OperationRegistry[K]['options']) => DispatchOutput; export type TypedDispatchTable = { [K in OperationId]: TypedDispatchHandler; }; /** * Builds the generic invoke dispatch from the same operation definitions that * publish operation IDs and direct API member paths. */ export declare function buildDispatchTable(api: DocumentApi): TypedDispatchTable; export {};