export interface RepeatableBlockProps {
    label?: string;
    name?: string | null;
    modelValue?: unknown[];
    /** Child element schema for each row. Engine remaps selectOptions → nestedElements. */
    nestedElements?: Array<Record<string, unknown>>;
    addButtonLabel?: string;
    /** Field names whose values in a row are joined to form the row's header label. */
    optionLabelFields?: ReadonlyArray<string>;
    /** Collapse all rows on initial render. */
    collapsedByDefault?: boolean;
    item?: Record<string, unknown>;
    classList?: string[] | string;
}
declare const _default: import('vue').DefineComponent<RepeatableBlockProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    "update:modelValue": (value: unknown[]) => any;
}, string, import('vue').PublicProps, Readonly<RepeatableBlockProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: unknown[]) => any) | undefined;
}>, {
    label: string;
    nestedElements: Array<Record<string, unknown>>;
    optionLabelFields: ReadonlyArray<string>;
    collapsedByDefault: boolean;
    modelValue: unknown[];
    addButtonLabel: string;
    item: Record<string, unknown>;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=RepeatableBlock.vue.d.ts.map