import React, { DragEvent } from 'react';
import { PhysicalMaterialRecord } from '../../DatabaseServices/PhysicalMaterialRecord';
import { TextureTableRecord } from '../../DatabaseServices/Texture';
interface AssetProps {
    material: PhysicalMaterialRecord;
    hightLight?: boolean;
    handleClick: (mat?: PhysicalMaterialRecord) => void;
}
export declare enum CurDefMtlType {
    Draw = 1,
    Wall = 2,
    Floor = 3,
    CeilingFace = 4
}
/**
 * 材质球 纹理 预览
 */
export declare class Asset extends React.Component<AssetProps, {}> {
    isLock: boolean;
    _Image: React.RefObject<HTMLImageElement>;
    _DivColorRef: React.RefObject<HTMLDivElement>;
    _CurWallMtlIconMarginBottom: number;
    _CurFloorMtlIconMarginBottom: number;
    _CurCeilingFaceMtlIconMarginBottom: number;
    _CurCeilingFaceMtlIconMarginLeft: number;
    _NameEl: HTMLDivElement;
    _RemoveCall: Function[];
    _RenderIng: boolean;
    componentDidMount(): void;
    componentWillUnmount(): void;
    updateTexture: (texture: TextureTableRecord) => void;
    /**
     * 更新渲染材质球预览图
     */
    _UpdateRenderPreview: () => Promise<void>;
    _Destroy: () => void;
    _HandleDoubleClick: () => Promise<void>;
    _HandleApply: () => void;
    _HighLightEntity: () => void;
    _ApplyUseCurBrsGoodInfo: () => Promise<void>;
    _HandleCollection: () => Promise<void>;
    _SetCurDefMtl: (type: CurDefMtlType) => void;
    _HandleDelete: () => Promise<void>;
    _HandleStart: (e: DragEvent) => void;
    /**
     * 图标多个重叠时改变marginBottom
     */
    _GetIconMarginBottom(): void;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=Asset.d.ts.map