import { MatSnackBar } from '@angular/material';
import { Observable } from 'rxjs';
import { Category } from '../../../services/eleview/types/category';
import { ColumnsWithLetter, OwnerByEnum } from '../../../services/eleview/types/model';
import { Node } from '../../../services/eleview/types/node';
import { BackFace } from './backface';
export declare class EditLabel {
    private svr;
    private snackBar;
    CategoryID: string;
    LabelID: string;
    Name: string;
    Conts?: Node;
    PlainText?: string;
    titleInput: boolean;
    isAdd: boolean;
    title?: string;
    readonly?: boolean;
    modify: boolean;
    constructor(svr: LabelManagerService, snackBar: MatSnackBar);
    add(categoryID: string): void;
    done(): boolean;
    edit(): void;
    editCancel(): void;
    private processSave;
    save(): Observable<boolean>;
}
export declare class LabelManagerService {
    private snackBar;
    eleName: string;
    ownerBy: OwnerByEnum;
    owner: string;
    categorys: Category[];
    editLabel: EditLabel;
    allColumnsWithLetter: ColumnsWithLetter;
    backface: BackFace;
    constructor(snackBar: MatSnackBar);
    removeLabel(CategoryID: string, LabelID: string): Observable<boolean>;
    removeCategory(id: string): Observable<boolean>;
    addCategory(param: {
        name: string;
        beforeAtID?: string;
    }): Observable<Category>;
    editCategory(param: {
        id: string;
        name: string;
    }): Observable<boolean>;
    fetchCategoryLabelHis(): Observable<import("../../../services/eleview/types/model").IElementHis[]>;
    fetchCategories(): void;
    setCategoryPosition(cate: Category, idx: number): void;
}
