/** @module @airtable/blocks/ui: FieldPicker */ /** */ import * as PropTypes from 'prop-types'; import * as React from 'react'; import Field from '../models/field'; import Table from '../models/table'; import { FieldType } from '../types/field'; import { SharedSelectBaseProps } from './select'; /** * Props shared between the {@link FieldPicker} and {@link FieldPickerSynced} components. */ export interface SharedFieldPickerProps extends SharedSelectBaseProps { /** The parent table model to select fields from. If `null` or `undefined`, the picker won't render. */ table?: Table | null; /** An array indicating which field types can be selected. */ allowedTypes?: Array; /** If set to `true`, the user can unset the selected field. */ shouldAllowPickingNone?: boolean; /** The placeholder text when no field is selected. */ placeholder?: string; /** A function to be called when the selected field changes. */ onChange?: (fieldModel: Field | null) => void; } export declare const sharedFieldPickerPropTypes: { onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; hasOnClick: PropTypes.Requireable; size: PropTypes.Validator; autoFocus: PropTypes.Requireable; disabled: PropTypes.Requireable; id: PropTypes.Requireable; name: PropTypes.Requireable; tabIndex: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; "aria-label": PropTypes.Requireable; "aria-labelledby": PropTypes.Requireable; "aria-describedby": PropTypes.Requireable; table: PropTypes.Requireable; allowedTypes: PropTypes.Requireable[]>; shouldAllowPickingNone: PropTypes.Requireable; placeholder: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; }; /** * Props for the {@link FieldPicker} component. Also accepts: * * {@link SelectStyleProps} * * @docsPath UI/components/FieldPicker */ interface FieldPickerProps extends SharedFieldPickerProps { /** The selected field model. */ field?: Field | null; } declare const ForwardedRefFieldPicker: React.ForwardRefExoticComponent>; export default ForwardedRefFieldPicker;