import { type EmailAddressFieldComponent, type TextFieldComponent } from '@defra/forms-model';
import { type StringSchema } from 'joi';
import { FormComponent } from '../../../../server/plugins/engine/components/FormComponent.js';
import { type ErrorMessageTemplateList, type FormState, type FormStateValue, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
export declare class TextField extends FormComponent {
    options: TextFieldComponent['options'] | EmailAddressFieldComponent['options'];
    schema: TextFieldComponent['schema'];
    formSchema: StringSchema;
    stateSchema: StringSchema;
    constructor(def: TextFieldComponent | EmailAddressFieldComponent, props: ConstructorParameters<typeof FormComponent>[1]);
    getFormValueFromState(state: FormSubmissionState): string | undefined;
    getFormValue(value?: FormStateValue | FormState): string | undefined;
    isValue(value?: FormStateValue | FormState): value is string;
    /**
     * For error preview page that shows all possible errors on a component
     */
    getAllPossibleErrors(): ErrorMessageTemplateList;
    /**
     * Static version of getAllPossibleErrors that doesn't require a component instance.
     */
    static getAllPossibleErrors(): ErrorMessageTemplateList;
    static isText(value?: FormStateValue | FormState): value is string;
}
