export interface InputListItemRenderResult { html: string; bind?: (el: HTMLElement, value: T, index: number) => void; } export interface InputListOptions { dom: HTMLElement; initialValues?: T[]; emptyValue: T; renderItem: (value: T, index: number) => InputListItemRenderResult; getValue: (el: HTMLElement) => T; validate?: (value: T) => boolean; onChange?: (values: T[]) => void; } /** * Generic add/remove list for form fields. * * Renders a table of items with plus/minus controls. Each item is rendered by * the host via `renderItem`; the host also extracts values via `getValue`. */ export declare class InputList { dom: HTMLElement; options: InputListOptions; private values_; constructor(options: InputListOptions); get values(): T[]; /** * Validate all current values and highlight invalid items. */ check(): boolean; private render; private addRow; private handlePlus; private handleMinus; private readValues; private listRows; private notifyChange; } //# sourceMappingURL=input_list.d.ts.map