import React, { JSX } from "react";
export type IFColumnSelectTable = {
    field: string;
    headerText: string;
    visible?: boolean;
    textAlign?: 'left' | 'right' | 'center';
    type?: 'text' | 'numeric' | 'date' | 'datetime';
    template?: any;
    typeCondition?: any;
    fraction?: number;
    width?: number;
    maxWidth?: number;
    minWidth?: number;
};
export type IFTableSelectFormat = {
    dateFormat?: string;
    datetimeFormat?: string;
    decimalSeparator?: string;
    thousandSeparator?: string;
    colorNegative?: string;
    prefixNegative?: string;
    suffixNegative?: string;
};
type Props = {
    id?: string;
    value: any;
    options: any[];
    fieldValue?: string;
    fieldLabel?: string;
    textAlign?: 'left' | 'right' | 'center';
    placeholder?: string;
    invalid?: boolean;
    menuWidth?: number;
    width?: number;
    isMulti?: boolean;
    noHeader?: boolean;
    maxHeight?: number;
    columns?: IFColumnSelectTable[];
    isClearable?: boolean;
    isDisabled?: boolean;
    allowCreate?: boolean;
    showFooter?: boolean;
    formatSetting?: IFTableSelectFormat;
    component?: string | HTMLElement | React.RefObject<HTMLElement> | undefined;
    formatOptionLabel?: (ele: any) => JSX.Element;
    loadOptions?: (keyword: string, callback: (rs: any[]) => void) => void;
    onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => any;
    onOpenMenu?: () => void;
    handleAdd?: (e?: any) => void;
    onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;
    onCloseMenu?: () => void;
    footerComponent?: () => JSX.Element;
    onChange: (val: any) => void;
};
declare const SelectTable: React.ForwardRefExoticComponent<Props & React.RefAttributes<unknown>>;
export { SelectTable };
