import { vec3 } from 'gl-matrix';
import { ComponentBase } from './componentBase';
interface TagItem {
    id?: any;
    props: any;
    vnode?: any;
    data: HTMLElement;
    point: vec3;
    shadowColor?: any;
    font?: any;
    fontColor?: any;
    fontBackColor?: any;
}
export declare class Label extends ComponentBase {
    tempDivMap: Map<number, HTMLElement>;
    tagMap: Map<number, TagItem>;
    updateDomList: any[];
    constructor(scene: any);
    /**
     * 清除所有标签
     */
    clearTag: () => void;
    /**
     * 清除指定ID标签
     */
    clearTagById: (id: number) => void;
    getTempDiv(item: any, options: {
        projectId: string;
        sadiId: string;
        prefixUrl: string;
        prefixUrlFile: string;
        tokenParams: TokenParamsJSON;
    }, isEditIdArr?: number[]): {
        data: HTMLElement;
        props: {
            outStyle: string;
        };
        point: any;
    } | {
        data?: undefined;
        props?: undefined;
        point?: undefined;
    };
    renderTag: (tagArr: any[], options: {
        projectId: string;
        sadiId: string;
        prefixUrl: string;
        prefixUrlFile: string;
        tokenParams: TokenParamsJSON;
    }, isEditIdArr?: number[], renderType?: "cover" | "merge", type?: "init" | "update") => void;
    /**
     * 添加文字标签
     */
    addTextTag: (textLabelOpts: {
        id: string;
        data: string;
        shadowColor: string;
        font: string;
        fontColor: string;
        fontBackColor: string;
        point: vec3;
    }[]) => void;
    updateDomTag: (domTagOpts: {
        id?: any;
        props: any;
        vnode?: any;
        data: HTMLElement;
        point: vec3;
        shadowColor?: any;
        font?: any;
        fontColor?: any;
        fontBackColor?: any;
    }[]) => void;
    /**
     * 添加dom标签
     */
    addDomTag: (domTagOpts: {
        props: any;
        vnode?: any;
        data: HTMLElement;
        point: vec3;
        shadowColor?: any;
        font?: any;
        fontColor?: any;
        fontBackColor?: any;
    }[]) => void;
    /**
     * 添加img 标签
     */
    addImgTag: (imgTagOpt: {
        src: string;
        point: number[];
    }[]) => void;
}
export {};
