import { Color, MeshPhysicalMaterial, Side } from "three";
import { CADFiler } from "./CADFiler";
import { MaterialType } from "./IMaterialDefaultParam";
import { MaterialTableRecord } from "./MaterialTableRecord";
import { ObjectId } from "./ObjectId";
export interface IGoodProps {
    name: string;
    material: string;
    color: string;
}
export declare enum UVType {
    LocalUV = 0,
    WorldUV = 1
}
export declare class PhysicalMaterialRecord extends MaterialTableRecord {
    type: MaterialType;
    ref: string;
    color: string;
    baseColorLuminance: number;
    baseColorLightColor: Color;
    baseColorDarkColor: Color;
    baseColorSaturability: number;
    transparent: boolean;
    opacity: number;
    opacityContrast: number;
    opacityBorder: number;
    opacityMaximum: number;
    opacityMinimum: number;
    refraction: number;
    matalness: number;
    bumpScale: number;
    roughness: number;
    specular: number;
    selfLuminous: number;
    useMap: boolean;
    map: ObjectId;
    useBumpMap: boolean;
    bumpMap: ObjectId;
    useRoughnessMap: boolean;
    roughnessMap: ObjectId;
    IsFull: boolean;
    side: Side;
    UVType: UVType;
    fresnelPO: number;
    fresnelST: number;
    fresnelLuminance: number;
    fresnelLightColor: Color;
    fresnelDarkColor: Color;
    sharpen: number;
    get UseWorldUV(): boolean;
    set UseWorldUV(b: boolean);
    UWroldRep: number;
    VWroldRep: number;
    UWroldRo: number;
    UWorldMove: number;
    VWorldMove: number;
    depthTest: boolean;
    private _goodsInfo;
    private material;
    constructor();
    Update(): Promise<void>;
    get Material(): MeshPhysicalMaterial;
    get GoodsInfo(): IGoodProps;
    set GoodsInfo(info: IGoodProps);
    ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=PhysicalMaterialRecord.d.ts.map