/// <reference types="react" />
import { MaybeObservable } from '../util/reactUtil';
import FormElement, { FormElementOptions } from './FormElement';
import RowModel, { RowModelOptions } from './RowModel';
export interface SectionModelOptions extends FormElementOptions {
    sectionIndex: number;
    title?: MaybeObservable<string> | (() => React.ReactNode);
    footer?: MaybeObservable<string> | (() => React.ReactNode);
}
export default class SectionModel extends FormElement {
    title: MaybeObservable<string> | (() => React.ReactNode);
    footer: MaybeObservable<string> | (() => React.ReactNode);
    rows: RowModel[];
    constructor(options: SectionModelOptions);
    addRow(options?: Omit<RowModelOptions, 'form' | 'sectionIndex' | 'rowIndex'>): RowModel;
    setTitle(title: Required<SectionModelOptions>['title']): this;
    setFooter(footer: Required<SectionModelOptions>['footer']): this;
}
