import React from "react"; interface ChildrenRenderPropRowCallableParams { index: number; data: any; } interface ChildrenRenderPropRowCallable { (params: ChildrenRenderPropRowCallableParams): React.ReactNode; } interface ChildrenRenderPropHeaderCallable { (): React.ReactNode; } interface ChildrenRenderPropEmptyCallable { (): React.ReactNode; } interface ChildrenRenderPropFooterCallable { (): React.ReactNode; } interface ChildrenRenderProp { actions: { add: (index?: number) => () => void; remove: (index: number) => () => void; }; header: (cb: ChildrenRenderPropHeaderCallable) => React.ReactNode; footer: (cb: ChildrenRenderPropFooterCallable) => React.ReactNode; row: (cb: ChildrenRenderPropRowCallable) => React.ReactNode; empty: (cb: ChildrenRenderPropEmptyCallable) => React.ReactNode; } interface DynamicFieldsetProps { value?: any[]; description?: string; validation?: { isValid: null | boolean; message?: string; }; onChange: (value: any) => void; onAdd: () => any; children: (props: ChildrenRenderProp) => React.ReactNode; } declare class DynamicFieldset extends React.Component { static defaultProps: Partial; header: React.ReactNode; footer: React.ReactNode; rows: React.ReactNode; empty: React.ReactNode; actions: { add: (index?: number) => () => void; remove: (index?: number) => () => void; }; removeData: (index: number) => void; addData: (index?: number) => void; renderHeader: (cb: () => React.ReactNode) => React.ReactNode; renderFooter: (cb: () => React.ReactNode) => React.ReactNode; renderRow: (cb: ChildrenRenderPropRowCallable) => React.ReactNode; renderEmpty: (cb: () => React.ReactNode) => React.ReactNode; renderComponent(): React.ReactNode; render(): React.JSX.Element; } export { DynamicFieldset, type DynamicFieldsetProps };