/** @module @airtable/blocks/ui: Select */ /** */ import * as PropTypes from 'prop-types'; import * as React from 'react'; /** * Supported value types for {@link SelectOption}. */ export declare type SelectOptionValue = string | number | boolean | null | undefined; /** @internal */ export declare function isSelectOptionValue(value: unknown): value is SelectOptionValue; /** * A select option for {@link Select}, {@link TablePicker}, {@link ViewPicker}, {@link FieldPicker}, and their `Synced` counterparts. */ export interface SelectOption { /** The value for the select option. */ value: SelectOptionValue; /** The label for the select option. */ label: React.ReactNode; /** If set to `true`, this option will not be selectable. */ disabled?: boolean; } export declare const selectOptionValuePropType: PropTypes.Validator; export declare const validateOptions: (options: Array) => { isValid: boolean; reason: string; } | { isValid: boolean; reason?: undefined; }; /** @internal */ export declare function optionValueToString(value: SelectOptionValue): string; /** @internal */ export declare function stringToOptionValue(valueJson: string): SelectOptionValue;