/** @module @airtable/blocks/ui: ViewPicker */ /** */ import * as PropTypes from 'prop-types'; import * as React from 'react'; import View from '../models/view'; import Table from '../models/table'; import { ViewType } from '../types/view'; import { SharedSelectBaseProps } from './select'; /** * Props shared between the {@link ViewPicker} and {@link ViewPickerSynced} components. */ export interface SharedViewPickerProps extends SharedSelectBaseProps { /** The parent table model to select views from. If `null` or `undefined`, the picker won't render. */ table?: Table | null; /** An array indicating which view types can be selected. */ allowedTypes?: Array; /** If set to `true`, the user can unset the selected view. */ shouldAllowPickingNone?: boolean; /** The placeholder text when no view is selected. Defaults to `'Pick a view...'` */ placeholder?: string; /** A function to be called when the selected view changes. */ onChange?: (viewModel: View | null) => void; } export declare const sharedViewPickerPropTypes: { 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 ViewPicker} component. Also accepts: * * {@link SelectStyleProps} * * @docsPath UI/components/ViewPicker */ interface ViewPickerProps extends SharedViewPickerProps { /** The selected view model. */ view?: View | null; } declare const ForwardedRefViewPicker: React.ForwardRefExoticComponent>; export default ForwardedRefViewPicker;