export interface LateInputOptions { resolve?: () => T | Promise; timeoutMs?: number; } export interface LateInput { readonly __tapiLateInput: true; set(value: T): Promise; waitForProvides(): Promise; } type Provider = (runId: string, inputKey: string, value: unknown) => Promise; export declare function lateInput(options?: LateInputOptions): LateInput; export declare function isLateInput(value: unknown): value is LateInput; export declare function serializeInputs(inputs: Record | undefined): { bodyInputs: Record | undefined; lateInputs: Array<{ key: string; input: LateInput; }>; }; export declare function attachLateInputs(lateInputs: Array<{ key: string; input: LateInput; }>, runId: string, provider: Provider): void; export {};