/**
 * Maps an awaiting_input event into the form view model, or null when the event
 * is absent or not an awaiting_input event.
 *
 * @param {Record<string, unknown> | null} event
 * @returns {FormModel | null}
 */
export function buildFormModel(event: Record<string, unknown> | null): FormModel | null;
/**
 * Renders the form markup for the active awaiting_input step. The DOM wiring
 * binds submit/click handlers afterwards; the markup here is keyboard-reachable
 * through native inputs and buttons in DOM order.
 *
 * @param {FormModel | null} model
 * @returns {string}
 */
export function renderForm(model: FormModel | null): string;
/**
 * Builds the exact `{ runId, kind, value }` body the SPEC-187 endpoint accepts,
 * coercing the raw form value to the type the kind requires and rejecting any
 * choice/multiSelect value that was not offered (so junk is never posted).
 *
 * @param {FormKind} kind
 * @param {string} runId
 * @param {unknown} rawValue
 * @param {FormOption[]} options
 * @returns {PayloadResult}
 */
export function buildInputPayload(kind: FormKind, runId: string, rawValue: unknown, options: FormOption[]): PayloadResult;
export type FormKind = "text" | "confirm" | "choice" | "multiSelect";
export type FormOption = {
    label: string;
    value: string;
};
export type FormModel = {
    stepId: string;
    kind: FormKind;
    prompt: string;
    options: FormOption[];
    defaultValue: string | null;
};
export type TextPayload = {
    runId: string;
    kind: "text";
    value: string;
};
export type ConfirmPayload = {
    runId: string;
    kind: "confirm";
    value: boolean;
};
export type ChoicePayload = {
    runId: string;
    kind: "choice";
    value: string;
};
export type MultiSelectPayload = {
    runId: string;
    kind: "multiSelect";
    value: string[];
};
export type InputPayload = TextPayload | ConfirmPayload | ChoicePayload | MultiSelectPayload;
export type PayloadResult = {
    ok: true;
    body: InputPayload;
} | {
    ok: false;
    error: string;
};
//# sourceMappingURL=setupWizardForms.d.ts.map