import { OnesTable } from '../../../../@ones-table/common';
import { GC } from '../../../../@ones-table/core';
import { CommandItem } from '../types';
export type RuleType = 'text' | 'number' | 'date';
export type ValueType = 'text' | 'number' | 'none';
export type ValueNumber = 0 | 1 | 2;
export type ToConditionFormatFunc = (table: OnesTable, item: ConditionItem, value1: string | number, value2: string | number) => GC.Spread.Sheets.ConditionalFormatting.ConditionRuleBase;
export interface ConditionItem extends CommandItem {
    id: string;
    name: string;
    valueType: ValueType;
    valueNumber: ValueNumber;
    fun: ToConditionFormatFunc;
}
export interface TypeItem extends CommandItem {
    id: string;
    name: string;
    data: {
        type: RuleType;
        items: ConditionItem[];
    };
}
export declare const ConditionTypeItems: () => TypeItem[];
export declare function getNumberConditionItems(): ConditionItem[];
export declare function isSupportedRule(rule: GC.Spread.Sheets.ConditionalFormatting.ConditionRuleBase): boolean;
export declare function conditionToRule(sheet: GC.Spread.Sheets.Worksheet, condition: GC.Spread.Sheets.ConditionalFormatting.Condition): GC.Spread.Sheets.ConditionalFormatting.ConditionRuleBase | null;
export declare function getRuleConditionText(rule: GC.Spread.Sheets.ConditionalFormatting.ConditionRuleBase): string;
