import { ListFormComponent } from '~/src/server/plugins/engine/components/ListFormComponent.js';
import { type ListItem } from '~/src/server/plugins/engine/components/types.js';
import { type ErrorMessageTemplateList, type FormPayload, type FormSubmissionError } from '~/src/server/plugins/engine/types.js';
/**
 * "Selection controls" are checkboxes and radios (and switches), as per Material UI nomenclature.
 */
export declare class SelectionControlField extends ListFormComponent {
    getViewModel(payload: FormPayload, errors?: FormSubmissionError[]): {
        fieldset: {
            attributes?: string | Record<string, string>;
            legend?: import("~/src/server/plugins/engine/components/types.js").Label;
        };
        items: ListItem[];
        label: {
            text: string;
        };
        id: string;
        name: string;
        value: import("~/src/server/plugins/engine/types.js").FormValue;
        type?: string;
        hint?: {
            id?: string;
            text: string;
        };
        prefix?: import("~/src/server/plugins/engine/components/types.js").ComponentText;
        suffix?: import("~/src/server/plugins/engine/components/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;
        };
        content?: import("~/src/server/plugins/engine/components/types.js").Content | import("~/src/server/plugins/engine/components/types.js").Content[] | string;
        maxlength?: number;
        maxwords?: number;
        rows?: number;
        formGroup?: {
            classes?: string;
            attributes?: string | Record<string, string>;
        };
        components?: import("~/src/server/plugins/engine/components/types.js").ComponentViewModel[];
        upload?: {
            count: number;
            summaryList: import("~/src/server/plugins/engine/types.js").SummaryList;
        };
    };
    /**
     * 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;
}
