import { type CheckboxesFieldComponent, type Item } from '@defra/forms-model';
import { type ArraySchema } from 'joi';
import { SelectionControlField } from '../../../../server/plugins/engine/components/SelectionControlField.js';
import { type ErrorMessageTemplateList, type FormState, type FormStateValue, type FormSubmissionState } from '../../../../server/plugins/engine/types.js';
export declare class CheckboxesField extends SelectionControlField {
    options: CheckboxesFieldComponent['options'];
    schema: CheckboxesFieldComponent['schema'];
    formSchema: ArraySchema<string> | ArraySchema<number>;
    stateSchema: ArraySchema<string> | ArraySchema<number>;
    constructor(def: CheckboxesFieldComponent, props: ConstructorParameters<typeof SelectionControlField>[1]);
    getFormValueFromState(state: FormSubmissionState): (string | number | boolean)[] | undefined;
    getFormValue(value?: FormStateValue | FormState): (string | number | boolean)[] | undefined;
    getDisplayStringFromFormValue(selected: (string | number | boolean)[] | undefined): string;
    getContextValueFromFormValue(values: (string | number | boolean)[] | undefined): (string | number | boolean)[];
    getDisplayStringFromState(state: FormSubmissionState): string;
    getContextValueFromState(state: FormSubmissionState): (string | number | boolean)[];
    /**
     * 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;
    isValue(value?: FormStateValue | FormState): value is Item['value'][];
}
