import type { TemplateField } from '../templates/provider-templates.js';
export interface WizardFormTemplate {
    name: string;
    fields: TemplateField[];
}
export declare function useWizardForm<T extends WizardFormTemplate>(): {
    selectedTemplate: T | null;
    setSelectedTemplate: import("react").Dispatch<import("react").SetStateAction<T | null>>;
    currentFieldIndex: number;
    setCurrentFieldIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
    fieldAnswers: Record<string, string>;
    setFieldAnswers: import("react").Dispatch<import("react").SetStateAction<Record<string, string>>>;
    currentValue: string;
    setCurrentValue: import("react").Dispatch<import("react").SetStateAction<string>>;
    error: string | null;
    setError: import("react").Dispatch<import("react").SetStateAction<string | null>>;
    inputKey: number;
    currentField: TemplateField | undefined;
    beginTemplate: (template: T, answers?: Record<string, string>) => void;
    loadField: (template: T, index: number, answers: Record<string, string>) => void;
    resetForm: () => void;
    bumpInputKey: () => void;
};
//# sourceMappingURL=use-wizard-form.d.ts.map