import React, { ReactNode } from 'react'; import { CommonProps, DropdownIndicatorProps, GroupBase, OptionsOrGroups, Props as ReactSelectProps, StylesConfig } from 'react-select'; import { AsyncProps } from 'react-select/async'; import { CreatableProps } from 'react-select/creatable'; import { TooltipDirection, TooltipLength } from '../tooltip'; import { Omit } from '../types/utils'; interface SelectStyleState { data: { error?: boolean; }; isFocused: boolean; isSelected: boolean; hasValue: boolean; selectProps: SelectProps; } export declare const baseOptionStyles: (base: object, state: SelectStyleState) => { ':active': {}; 'line-height': string; backgroundColor: any; color: any; cursor: string; padding: string; } | { ':active': {}; 'line-height': string; backgroundColor: any; color?: undefined; cursor: string; padding: string; } | { ':active': {}; 'line-height': string; backgroundColor: any; color: any; cursor: string; padding: string; } | { ':active': {}; 'line-height': string; backgroundColor?: undefined; color?: undefined; cursor: string; padding: string; }; export declare const linkOptionStyles: (base: object, state: SelectStyleState) => { 'border-top': string; ':active': {}; 'line-height': string; backgroundColor: any; color: any; cursor: string; padding: string; } | { 'border-top': string; ':active': {}; 'line-height': string; backgroundColor: any; color?: undefined; cursor: string; padding: string; } | { 'border-top': string; ':active': {}; 'line-height': string; backgroundColor: any; color: any; cursor: string; padding: string; } | { 'border-top': string; ':active': {}; 'line-height': string; backgroundColor?: undefined; color?: undefined; cursor: string; padding: string; }; export declare const SelectStyles: StylesConfig; export declare const applyStyles: (styles: StylesConfig, overrides: StylesConfig) => StylesConfig; export declare const DropdownIndicator: React.SFC & DropdownIndicatorProps & SelectProps>; export interface ReactNodeLabelOption { label: ReactNode; value: string; } export interface SelectProps extends Omit { options?: OptionsOrGroups>; disabled?: boolean; error?: boolean; info?: string | React.ReactNode; label?: string; required?: boolean; tooltip?: string | React.ReactElement; tooltipDirection?: TooltipDirection; tooltipLength?: TooltipLength; } declare const Select: React.SFC & SelectProps>; declare const Createable: React.SFC & SelectProps>; declare const AsyncSelect: React.SFC & SelectProps>; export default Select; export { Select, Createable, AsyncSelect };