/// <reference types="node" />
import { SelectChangeEvent } from '@mui/material';
import React, { Component } from "react";
import { InputImplement } from '../../types/input.implement';
import { SelectInputProps, SelectInputValueType } from './select.types';
interface IState {
    value: SelectInputValueType;
    error: boolean;
}
export declare class SelectInput extends Component<SelectInputProps, IState> implements InputImplement<SelectInputValueType> {
    state: IState;
    validationTimeout: NodeJS.Timeout | undefined;
    inputRef: HTMLInputElement | null | undefined;
    shouldComponentUpdate(nextProps: SelectInputProps, nextState: IState): boolean;
    componentDidUpdate(props: SelectInputProps): void;
    setValue(value: SelectInputValueType): Promise<SelectInputValueType>;
    getValue(): SelectInputValueType;
    clear(): Promise<SelectInputValueType>;
    validation(): boolean;
    onChange: (event: SelectChangeEvent<any>, child: React.ReactNode) => void;
    private onOpen;
    click: () => void;
    focus: () => void;
    blur: () => void;
    render(): React.JSX.Element;
}
export {};
