import { type Item, type List as ListType, type ListComponent } from '@defra/forms-model';
import { ComponentBase } from '../../../../server/plugins/engine/components/ComponentBase.js';
import { type ListItem } from '../../../../server/plugins/engine/components/types.js';
export declare class List extends ComponentBase {
    options: ListComponent['options'];
    hint: ListComponent['hint'];
    list?: ListType;
    get items(): Item[];
    constructor(def: ListComponent, props: ConstructorParameters<typeof ComponentBase>[1]);
    getViewModel(): {
        type: string | undefined;
        classes: string | undefined;
        content: import("../../../../server/plugins/engine/components/types.js").Content;
        items: ListItem[];
        label?: import("../../../../server/plugins/engine/components/types.js").Label;
        id?: string;
        name?: string;
        value?: import("../types.js").FormValue;
        hint?: {
            id?: string;
            text: string;
        };
        prefix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
        suffix?: import("../../../../server/plugins/engine/components/types.js").ComponentText;
        condition?: string;
        errors?: import("../types.js").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;
        fieldset?: {
            attributes?: string | Record<string, string>;
            legend?: import("../../../../server/plugins/engine/components/types.js").Label;
        };
        formGroup?: {
            classes?: string;
            attributes?: string | Record<string, string>;
        };
        showFieldsetError?: boolean;
        components?: import("../../../../server/plugins/engine/components/types.js").ComponentViewModel[];
        upload?: {
            count: number;
            summaryList: import("../types.js").SummaryList;
        };
    };
}
