import { DataColumn, DataColumnJSON } from "../Data.module";
import { DataType } from "./DataType";
export declare enum ColorsSelect {
    Default = "rgba(206, 205, 202, 0.5)",
    Gray = "rgba(155, 154, 151, 0.4)",
    Brown = "rgba(140, 46, 0, 0.2)",
    Orange = "rgba(245, 93, 0, 0.2)",
    Yellow = "rgba(233, 168, 0, 0.2)",
    Green = "rgba(0, 135, 107, 0.2)",
    Blue = "rgba(0, 120, 223, 0.2)",
    Purple = "rgba(103, 36, 222, 0.2)",
    Pink = "rgba(103, 36, 222, 0.2)",
    Red = "rgba(255, 0, 26, 0.2)"
}
export interface DataColumnSelectJSON extends DataColumnJSON {
    dataSelect: string;
}
/**
 * Описание Select
 */
export declare class Select {
    name?: string;
    color?: string;
    constructor(name?: string, color?: string);
}
/**
 * Данные Select
 */
export declare class DataSelect {
    private _selectList;
    /**
     * Добавить селект
     * @param val select
     * @returns Номер вставки
     */
    addSelect(val: Select): number;
    /**
     * Добавить список селектов
     * @param val Список селектов
     * @returns Номер вставки
     */
    addSelect(val: Select[]): number;
    /**
     * Поиск селекта по названию
     * @param name Название селекта
     * @returns Селект
     */
    findSelect(name: string): Select | undefined;
    /**
     * Удалить select
     * @param val Select
     */
    removeSelect(val: Select): any;
    /**
     * Удалить select по названию
     * @param name название select
     */
    removeSelect(name: string): any;
    /**
     * Получить цвет по названию
     * @param name Название
     * @returns Цвет
     */
    getColorLableByName(name: string): string | void;
    /**
     * Отфильтровать список по значению
     * @param val Значение
     * @returns list новый список
     */
    filterList(val: string): Select[];
    /**
     * Получить список select
     * @returns Список селектов
     */
    getList(): Select[];
    getList(val: string): Select[];
    /**
     * Получить select по названию
     * @param name Название
     * @returns Select
     */
    getSelectByName(name: string): Select | undefined;
    constructor(list?: Select[]);
    static fromJSON(json: string): DataSelect;
    toJSON(): string;
}
/**
 * Класс колонки данных Select
 */
export declare class DataColumnSelect extends DataColumn {
    dataSelect: DataSelect;
    /** Конструктор
     * Не предназначен для использования внешним кодом.
     * Следует использовать DataColumnSelect.createNew()
     */
    constructor();
    static createNew(name: string, dataType?: DataType, listSelect?: Select[]): DataColumnSelect;
    static fromJSON(json: DataColumnSelectJSON | string): DataColumnSelect;
    toJSON(): DataColumnSelectJSON;
}
