export type DTVector3 = {
    x: number;
    y: number;
    z: number;
};
export interface DTModelGroup<M extends DTModel> extends Array<M> {
    set visible(visible: boolean);
    set color(color: string);
    set opacity(opacity: number);
    set disabled(disabled: boolean);
    dispose(): Promise<void>;
    removeFromParent(): Promise<void>;
}
export type SelectOptions = {
    active: boolean;
    color: string;
    frequency: number;
    performance: boolean;
};
export interface DTModel {
    modelId: string;
    url: string;
    position: DTVector3;
    visible: boolean;
    scale: DTVector3;
    rotation: {
        x: number;
        y: number;
        z: number;
        order?: string;
    };
    /**
     * @description 组件的一些信息
     */
    set color(color: string);
    set opacity(opacity: number);
    set disabled(disabled: boolean);
    get disabled(): boolean;
    set selected(selected: boolean | SelectOptions);
    get selected(): boolean | SelectOptions;
    dispose(): Promise<void>;
    removeFromParent(): Promise<void>;
    add(model: DTModel): Promise<void>;
    attach(model: DTModel): Promise<void>;
    remove(model: DTModel): Promise<void>;
    replace(model: DTModel): void;
    getTransform?(): Promise<object>;
}
