import type { FormAssist } from './form-layout'; export interface AssistProgressStep { label: string; state: 'pending' | 'running' | 'done' | 'error'; detail?: string; } export interface AssistQuestion { key: string; prompt: string; kind?: 'text' | 'choice' | 'confirm'; options?: { value: string; label: string; }[]; placeholder?: string; /** Prefilled suggestion the user can accept with Enter. */ suggestion?: string; } export interface AssistCard { kind: string; title?: string; logo?: string; logo_light?: string; logo_dark?: string; colors?: Record; lines?: { label: string; value: string; }[]; } export interface AssistTurn { id: string; type: 'message' | 'progress' | 'card' | 'question' | 'answer' | 'result'; text?: string; steps?: AssistProgressStep[]; card?: AssistCard; question?: AssistQuestion; fields?: Record; } export interface AssistSession { id: string; working: boolean; done: boolean; turns: AssistTurn[]; result?: Record; error?: string; /** Optional: how many beats the provider expects (progress dots). */ beats?: number; } export interface AssistInterviewProps { assist: FormAssist; /** Live form values; the declared `input` fields are sent on start. */ values: Record; /** Called with the provider's result fields (limited to `output`). */ onApply: (fields: Record) => void; /** Start immediately (the step is the chat itself). Default true. */ autoStart?: boolean; /** Small uppercase label above the headline (e.g. the step title). */ eyebrow?: string; className?: string; } export declare function AssistInterview({ assist, values, onApply, autoStart, eyebrow, className }: AssistInterviewProps): import("react").JSX.Element; /** Preview card: logo on dark and light, colour swatches, key/value lines. */ export declare function AssistCardView({ card }: { card: AssistCard; }): import("react").JSX.Element; //# sourceMappingURL=assist-interview.d.ts.map