import { WrappedComponentProps } from 'react-intl';
import { SizeLarge, SizeMedium, SizeSmall } from '../common';
import { WithInputAttributesProps } from '../inputs/contexts';
import { SelectInputProps } from '../inputs/SelectInput';
export interface CurrencyOptionItem {
    header?: never;
    value: string;
    label: string;
    currency: string;
    note?: string;
    searchable?: string;
}
export interface CurrencyHeaderItem {
    header: string;
}
export type CurrencyItem = CurrencyOptionItem | CurrencyHeaderItem;
export interface MoneyInputProps extends WrappedComponentProps {
    id?: string;
    'aria-labelledby'?: string;
    currencies: readonly CurrencyItem[];
    selectedCurrency: CurrencyOptionItem;
    onCurrencyChange?: (value: CurrencyOptionItem) => void;
    placeholder?: number;
    amount: number | null;
    size?: SizeSmall | SizeMedium | SizeLarge;
    onAmountChange?: (value: number | null) => void;
    addon?: React.ReactNode;
    searchPlaceholder?: string;
    /**
     * Allows the consumer to react to searching, while the search itself is handled internally.
     */
    onSearchChange?: (value: {
        searchQuery: string;
        filteredOptions: CurrencyItem[];
    }) => void;
    customActionLabel?: React.ReactNode;
    onCustomAction?: () => void;
    classNames?: Record<string, string>;
    selectProps?: Partial<SelectInputProps<CurrencyOptionItem>>;
}
type MoneyInputPropsWithInputAttributes = MoneyInputProps & Partial<WithInputAttributesProps>;
declare const _default: import("react").FC<import("react-intl").WithIntlProps<Omit<MoneyInputPropsWithInputAttributes, "inputAttributes"> & {
    id?: string;
}>> & {
    WrappedComponent: import("react").ComponentType<Omit<MoneyInputPropsWithInputAttributes, "inputAttributes"> & {
        id?: string;
    }>;
};
export default _default;
//# sourceMappingURL=MoneyInput.d.ts.map