import ILinkedListNode from 'typescript-dotnet-commonjs/System/Collections/ILinkedListNode';
import { TypeComponent } from '../TypeComponent';
import { Text, TextJSON } from './Text';
declare type ListType = 'Bulleted' | 'Number' | 'Check';
export interface ListJSON extends TextJSON {
    types: ListType | null;
    counter: number;
    level: number;
}
export declare class List extends Text {
    /**
     * Тип списка
     */
    types: ListType | null;
    /**
     * Номер позиции в списке
     */
    counter: number;
    /**
     * уровень вложенности
     */
    level: number;
    /**
     * Проперка компонента на тип списка
     * @param type Тип списка
     * @returns true если виджет список
     */
    static checkTypeList(type: TypeComponent): boolean;
    static down(node: ILinkedListNode<List>): void;
    static isList(type: TypeComponent): boolean;
    static getNodeCurrentLvl(node: ILinkedListNode<List>, level: number): ILinkedListNode<List>;
    constructor(type: TypeComponent, id: string);
    /**
     * Получить объект класса List из json
     * @param json валидная json строка
     * @returns объект класса List
     */
    static fromJSON(json: string): List;
    /**
     * Получить объект для сериализации
     * @returns Объект для сериализации
     */
    toJSON(): ListJSON;
}
export {};
