import React from 'react';
import { Observable } from 'rxjs';
import { ISelectOption } from '../Select/Select.interface';
export interface IPropsSelectFetchResponse {
    name: string;
    disabled?: boolean;
    value: any;
    [key: string]: any;
}
interface IPropsSelectAutoCompleteBase extends React.ComponentProps<any> {
    name?: any;
    renderInput?: (name: string, item: any) => JSX.Element;
    getAsyncLabel?: (value: any) => string;
    onSelect?: (select: any) => void;
    inputProps?: React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
    NotFoundComponent?: JSX.Element;
    isClearable?: boolean;
    title?: any;
    prefix?: string | JSX.Element;
    suffix?: string | JSX.Element;
    textRight?: boolean;
    textCenter?: boolean;
    loading?: boolean;
    mask?: 'CEP' | 'CNPJ' | 'CPF' | 'RG' | 'phone' | 'number' | 'no-spaces';
    withoutDotNumber?: boolean;
    decimals?: number;
    error?: string;
    value?: string;
    onInput?: (text: string) => void;
}
interface IPropsSelectAutoCompleteAsync extends IPropsSelectAutoCompleteBase {
    fetch: (text: string) => Observable<IPropsSelectFetchResponse>;
}
interface IPropsSelectAutoCompleteSync extends IPropsSelectAutoCompleteBase {
    options: ISelectOption[];
}
export declare type IPropsSelectAutoComplete = IPropsSelectAutoCompleteAsync | IPropsSelectAutoCompleteSync;
export {};
//# sourceMappingURL=SelectAutocomplete.interface.d.ts.map