import { type DeclarationFieldComponent, type Item } from '@defra/forms-model'; import { type ArraySchema, type BooleanSchema, type StringSchema } from 'joi'; import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js'; import { type ErrorMessageTemplateList, type FormPayload, type FormState, type FormStateValue, type FormSubmissionError, type FormSubmissionState, type FormValue } from '~/src/server/plugins/engine/types.js'; export declare class DeclarationField extends FormComponent { private readonly DEFAULT_DECLARATION_LABEL; options: DeclarationFieldComponent['options']; declarationConfirmationLabel: string; formSchema: ArraySchema; stateSchema: BooleanSchema; content: string; headerStartLevel: number; constructor(def: DeclarationFieldComponent, props: ConstructorParameters[1]); getFormValueFromState(state: FormSubmissionState): "true" | "false"; getFormDataFromState(state: FormSubmissionState): FormPayload; getStateFromValidForm(payload: FormPayload): FormState; getContextValueFromFormValue(value: FormValue | FormPayload): boolean; getFormValue(value?: FormStateValue | FormState): (string | number | boolean)[] | undefined; getDisplayStringFromFormValue(value: FormValue | FormPayload): string; getViewModel(payload: FormPayload, errors?: FormSubmissionError[]): { hint: { text: string; } | undefined; fieldset: { attributes?: string | Record; legend?: import("./types.js").Label; }; content: string; items: { text: string; value: string; checked: boolean; }[]; headerStartLevel: number; label: { text: string; }; id: string; name: string; value: FormValue; type?: string; prefix?: import("./types.js").ComponentText; suffix?: import("./types.js").ComponentText; classes?: string; condition?: string; errors?: FormSubmissionError[]; errorMessage?: { text: string; }; summaryHtml?: string; html?: string; attributes: { autocomplete?: string; maxlength?: number; multiple?: string; accept?: string; inputmode?: string; }; maxlength?: number; maxwords?: number; rows?: number; formGroup?: { classes?: string; attributes?: string | Record; }; showFieldsetError?: boolean; components?: import("./types.js").ComponentViewModel[]; upload?: { count: number; summaryList: import("~/src/server/plugins/engine/types.js").SummaryList; }; }; isValue(value?: FormStateValue | FormState): value is Item['value'][]; /** * 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 isBool(value?: FormStateValue | FormState): value is boolean; }