import * as React from 'react'; export type Type = 'dark' | 'light'; export interface Props { children: React.ReactNode; id?: string; title?: string; disabled?: boolean; floating?: boolean; showAllContents?: boolean; value?: string; onChange?: (value: string, child: React.ReactNode) => void; type?: Type; } interface State { value: string | number; show: boolean; radioShown: boolean; } interface RadioOptionsObj { [key: string]: boolean; } export default class Select extends React.PureComponent { constructor(props: Props); static defaultProps: { type: string; }; componentDidUpdate(prevProps: Props): void; getDefaultValue(props: Props): { value: any; selected: any; }; getRadioOptions: (value: string | undefined, children: React.ReactNode) => RadioOptionsObj; onRadioOptionClick: (key: string, selected: boolean, child: React.ReactNode, all: { [key: string]: boolean; }) => void; onOverlayClick: (event: any) => void; styledModalOverlay: (value: string | undefined, children: React.ReactNode) => JSX.Element | null; generateOptions: (value: string | undefined, children: React.ReactNode, showAllContents: boolean | undefined) => JSX.Element[] | null | undefined; onOptionClick: (value: string, child: React.ReactNode) => void; isTouchscreen: () => boolean; onSelectClick: () => void; onBlur: () => void; render(): JSX.Element; } export {};