import { OnesTable } from '../../../../@ones-table/common';
import { GC } from '../../../../@ones-table/core';
import { TypedEmitter } from 'tiny-typed-emitter';
import DropdownSelect from '../components/dropdown-select';
import { ConditionItem } from '../conditional-format/rules';
import { ConditionString } from './validator-type';
import { CommandItem } from '../types';
import './validator-editor.scss';
interface ValidatorEditorEvents {
    'change': () => void;
}
export type ValidatorType = 'integer' | 'decimal' | 'date' | 'text-length';
export default class ValidatorEditor extends TypedEmitter<ValidatorEditorEvents> {
    private table;
    _root: HTMLElement;
    _conditionType: DropdownSelect;
    _validatorType: ValidatorType;
    _value1: HTMLInputElement;
    _value2: HTMLInputElement;
    constructor(table: OnesTable);
    destroy(): void;
    root(): HTMLElement;
    value1(): string;
    value2(): string;
    conditionType(): ConditionString | null;
    conditionItem(): ConditionItem | null;
    update(sheet: GC.Spread.Sheets.Worksheet, range: GC.Spread.Sheets.Range, validatorType: ValidatorType): void;
    handleConditionTypeChange: (item: CommandItem) => void;
    updateValuePlaceholder(validatorType?: ValidatorType): void;
    getDataValidator(validatorType: 'integer' | 'decimal' | 'date' | 'text-length'): GC.Spread.Sheets.DataValidation.DefaultDataValidator | null;
    private handleValueChange;
}
export {};
