import * as React from 'react';
import { Dayjs } from 'dayjs';
import { Locale } from './languages/zh-CN';
import { DateUnitKeys, DynamincType, FastTypeKeys, DateUntilKeys } from './__private__/constant';
import { DateItemProps } from './__private__/DateItem';
import './style/date-filter.css';
import { TooltipPlacement } from '@/components/tooltip';
import { TimeFormat } from '../date-picker';
export declare type DateUnit = DateUnitKeys;
export declare type DateType = DynamincType;
export { TimeFormat };
export interface DateFilterResult {
    start?: string;
    end?: string;
    startFormat?: TimeFormat;
    endFormat?: TimeFormat;
    startProps?: DateItemProps;
    endProps?: DateItemProps;
    fastType?: string;
    include?: boolean;
    type?: DynamincType;
    value?: number;
    unit?: DateUnitKeys;
    startMoment?: Dayjs;
    endMoment?: Dayjs;
    untilValue?: DateUntilKeys;
    nature?: boolean;
}
export interface DateFilterProps {
    /** 加载样式 */
    loading?: boolean;
    /** 详见DateFilterResult */
    value?: DateFilterResult;
    /** 关闭按钮的点击回调 */
    onClose?: () => void;
    /** 当前语言 */
    locale?: Locale;
    /** 类名 */
    className?: string;
    children: React.ReactElement | string;
    /** 确定按钮的点击回调 */
    onOk?: (result: DateFilterResult) => void;
    /** 确定按钮的文案 */
    okButtonLabel?: React.ReactNode;
    /** 取消按钮的文案 */
    cancelButtonLabel?: React.ReactNode;
    /** 任意点击关闭 */
    clickAway?: boolean;
    /**气泡框位置 */
    placement?: TooltipPlacement;
    /** 内容的类名 */
    overlayClassName?: string;
    /** 最小值的文案描述 */
    min?: string;
    /** 最大值的文案描述 */
    max?: string;
    /** 菜单渲染父节点。默认渲染到 body 上 */
    getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
    /** 日期快捷选项 */
    timeShortcuts?: FastTypeKeys[];
}
export declare const prefixCls = "dmc-date-filter";
declare const DateFilter: React.FC<DateFilterProps>;
export default DateFilter;
declare const DateFilterMemo: React.NamedExoticComponent<DateFilterProps>;
export { DateFilterMemo };
