/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { Schema } from '@formily/json-schema';
interface Props {
    operator?: {
        value: string;
    };
    schema?: any;
    /**
     * 不需要禁用选项，一般会在表达式中使用
     */
    noDisabled?: boolean;
    /** 消费变量值的字段 */
    targetFieldSchema?: Schema;
}
/**
 * @deprecated
 * 该 hook 已废弃，请使用 `useDatetimeVariable` 代替
 *
 * 变量：`日期变量`
 * @param param0
 * @returns
 */
export declare const useDateVariable: ({ operator, schema, noDisabled }: Props) => {
    label: string;
    value: string;
    key: string;
    disabled: boolean;
    children: ({
        key: string;
        value: string;
        label: string;
        disabled: boolean;
        operators: ({
            label: string;
            value: string;
            selected: boolean;
            schema: {
                'x-component': string;
                'x-component-props': {
                    isRange: boolean;
                };
            };
            onlyFilterAction: boolean;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            schema: {
                'x-component': string;
                'x-component-props': {
                    isRange: boolean;
                };
            };
            onlyFilterAction: boolean;
            selected?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            schema: {
                'x-component': string;
                'x-component-props': {
                    isRange: boolean;
                };
            };
            selected?: undefined;
            onlyFilterAction?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            noValue: boolean;
            selected?: undefined;
            schema?: undefined;
            onlyFilterAction?: undefined;
        })[];
        schema: {};
    } | {
        key: string;
        value: string;
        label: string;
        disabled: boolean;
        operators: ({
            label: string;
            value: string;
            selected: boolean;
            schema: {
                'x-component': string;
                'x-component-props': {
                    isRange: boolean;
                };
            };
            onlyFilterAction: boolean;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            schema: {
                'x-component': string;
                'x-component-props': {
                    isRange: boolean;
                };
            };
            onlyFilterAction: boolean;
            selected?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            schema: {
                'x-component': string;
                'x-component-props': {
                    isRange: boolean;
                };
            };
            selected?: undefined;
            onlyFilterAction?: undefined;
            noValue?: undefined;
        } | {
            label: string;
            value: string;
            noValue: boolean;
            selected?: undefined;
            schema?: undefined;
            onlyFilterAction?: undefined;
        })[];
        schema?: undefined;
    })[];
};
/**
 * 变量：`日期变量`的上下文
 * @returns
 */
export declare const useDatetimeVariableContext: () => {
    datetimeCtx: {
        now: () => any;
        today: (params?: any) => any;
        yesterday: (params?: any) => any;
        dayBeforeYesterday: (params?: any) => any;
        tomorrow: (params?: any) => any;
        thisWeek: (params?: any) => any;
        lastWeek: (params?: any) => any;
        nextWeek: (params?: any) => any;
        thisIsoWeek: (params?: any) => any;
        lastIsoWeek: (params?: any) => any;
        nextIsoWeek: (params?: any) => any;
        thisMonth: (params?: any) => any;
        lastMonth: (params?: any) => any;
        nextMonth: (params?: any) => any;
        thisQuarter: (params?: any) => any;
        lastQuarter: (params?: any) => any;
        nextQuarter: (params?: any) => any;
        thisYear: (params?: any) => any;
        lastYear: (params?: any) => any;
        nextYear: (params?: any) => any;
        last7Days: (params?: any) => any;
        next7Days: (params?: any) => any;
        last30Days: (params?: any) => any;
        next30Days: (params?: any) => any;
        last90Days: (params?: any) => any;
        next90Days: (params?: any) => any;
    };
};
/**
 * 变量：`日期变量`，主要用于筛选、联动规则条件场景
 * @param param0
 * @returns
 */
export declare const useDatetimeVariable: ({ operator, schema, noDisabled, targetFieldSchema }?: Props) => {
    datetimeSettings: {
        label: string;
        value: string;
        key: string;
        disabled: any;
        children: {
            key: string;
            value: string;
            label: string;
            disabled: boolean;
            operators: ({
                label: string;
                value: string;
                selected: boolean;
                schema: {
                    'x-component': string;
                    'x-component-props': {
                        isRange: boolean;
                    };
                };
                onlyFilterAction: boolean;
                noValue?: undefined;
            } | {
                label: string;
                value: string;
                schema: {
                    'x-component': string;
                    'x-component-props': {
                        isRange: boolean;
                    };
                };
                onlyFilterAction: boolean;
                selected?: undefined;
                noValue?: undefined;
            } | {
                label: string;
                value: string;
                schema: {
                    'x-component': string;
                    'x-component-props': {
                        isRange: boolean;
                    };
                };
                selected?: undefined;
                onlyFilterAction?: undefined;
                noValue?: undefined;
            } | {
                label: string;
                value: string;
                noValue: boolean;
                selected?: undefined;
                schema?: undefined;
                onlyFilterAction?: undefined;
            })[];
        }[];
    };
    datetimeCtx: {
        now: () => any;
        today: (params?: any) => any;
        yesterday: (params?: any) => any;
        dayBeforeYesterday: (params?: any) => any;
        tomorrow: (params?: any) => any;
        thisWeek: (params?: any) => any;
        lastWeek: (params?: any) => any;
        nextWeek: (params?: any) => any;
        thisIsoWeek: (params?: any) => any;
        lastIsoWeek: (params?: any) => any;
        nextIsoWeek: (params?: any) => any;
        thisMonth: (params?: any) => any;
        lastMonth: (params?: any) => any;
        nextMonth: (params?: any) => any;
        thisQuarter: (params?: any) => any;
        lastQuarter: (params?: any) => any;
        nextQuarter: (params?: any) => any;
        thisYear: (params?: any) => any;
        lastYear: (params?: any) => any;
        nextYear: (params?: any) => any;
        last7Days: (params?: any) => any;
        next7Days: (params?: any) => any;
        last30Days: (params?: any) => any;
        next30Days: (params?: any) => any;
        last90Days: (params?: any) => any;
        next90Days: (params?: any) => any;
    };
};
export {};
