import React from 'react'; import { Field, TypedField } from '../../../lib/data/field.js'; import { FormProps } from '../../form/form/form.js'; import { SerializedFormData } from '../../../lib/form/utils.js'; type AttributeTableProps = { /** The object. */ object?: T; labeledObject?: Record; /** * Whether values should be made editable, default is determined by whether any of `fields` is a `TypedField` and has * `editable` set. */ editable?: boolean; /** A `string[]` or `TypedField[]` containing the keys in `objectList` to show value for. */ fields?: Field[] | TypedField[]; /** Props for Form. */ formProps?: FormProps>; /** The cancel label. */ labelCancel?: string; /** The edit value (accessible) label. */ labelEdit?: string; /** Vertical alignment of contents. */ valign?: "middle" | "start"; /** Whether a compact layout should be used. */ compact?: boolean; /** Whether wrapping should be allowed. */ wrap?: boolean; }; /** * AttributeTable Component * * Shows key/value pairs. * @see DataGrid for more advanced table layout. * * @typeParam T - The shape of a single item. */ declare const AttributeTable: ({ object, labeledObject, editable, fields, formProps, labelCancel, labelEdit, valign, compact, wrap, ...props }: AttributeTableProps) => React.JSX.Element; type AttributeTableRowProps = { editable?: boolean; object?: T; labeledObject?: Record; field: TypedField; isFormOpen: boolean; labelEdit?: string; onClick: React.MouseEventHandler; compact?: boolean; }; declare const AttributeTableRow: ({ editable, field, isFormOpen, object, labeledObject, labelEdit, compact, onClick, }: AttributeTableRowProps) => React.JSX.Element; export { AttributeTable, AttributeTableRow }; export type { AttributeTableProps, AttributeTableRowProps };