import { type CheckboxesFieldComponent, type Item } from '@defra/forms-model';
import { type ArraySchema } from 'joi';
import { SelectionControlField } from '~/src/server/plugins/engine/components/SelectionControlField.js';
import { type FormState, type FormStateValue, type FormSubmissionState } from '~/src/server/plugins/engine/types.js';
export declare class CheckboxesField extends SelectionControlField {
    options: CheckboxesFieldComponent['options'];
    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)[]): string;
    getContextValueFromFormValue(values: (string | number | boolean)[] | undefined): (string | number | boolean)[];
    getDisplayStringFromState(state: FormSubmissionState): string;
    getContextValueFromState(state: FormSubmissionState): (string | number | boolean)[];
    isValue(value?: FormStateValue | FormState): value is Item['value'][];
}
