import * as React from 'react';
/**
 * Field type options for form fields
 */
export type FormFieldType = 'text' | 'email' | 'number' | 'textarea' | 'select' | 'checkbox' | 'radio' | 'date';
/**
 * Option format for select/radio fields
 */
export interface FormFieldOption {
    value: string;
    label: string;
}
/**
 * Schema for a single form field
 */
export interface FormFieldSchema {
    /** Field name used as the key in form data */
    name: string;
    /** Type of form field to render */
    type: FormFieldType;
    /** Label to display for the field */
    label: string;
    /** Placeholder text */
    placeholder?: string;
    /** Whether the field is required */
    required?: boolean;
    /** Default value for the field */
    defaultValue?: unknown;
    /** Options for select/radio fields - can be string[] shorthand or object format */
    options?: string[] | FormFieldOption[];
    /** Number of rows for textarea */
    rows?: number;
    /** Minimum value for number input */
    min?: number;
    /** Maximum value for number input */
    max?: number;
}
/**
 * Schema for configuring an AIForm
 */
export interface FormBlockSchema {
    /** Unique identifier for the component instance */
    id: string;
    /** Title to display above the form */
    title?: string;
    /** Description to display below the title */
    description?: string;
    /** Array of field schemas */
    fields: FormFieldSchema[];
    /** Label for the submit button */
    submitLabel?: string;
    /** Form layout direction */
    layout?: 'vertical' | 'horizontal';
}
/**
 * Props for AIForm
 */
export interface AIFormProps {
    /** Schema defining the form configuration */
    schema: FormBlockSchema;
    /** Additional class names */
    className?: string;
}
/**
 * AIForm - An interactive form for use in AI chat messages.
 *
 * Renders a form based on a schema that emits interaction events when submitted.
 * Supports various field types including text, email, number, textarea, select, checkbox, and radio.
 */
export declare function AIForm({ schema, className }: AIFormProps): React.ReactElement;
export declare namespace AIForm {
    var displayName: string;
}
export default AIForm;
