import { Point } from "@lincode/math";
import { ExtractProps } from "./utils/extractProps";
import Nullable from "./utils/Nullable";
import { ColorRepresentation } from "three";
import Choices from "./utils/Choices";
export type ColorString = Extract<ColorRepresentation, string>;
export type Blending = "additive" | "subtractive" | "multiply" | "normal";
export default interface ITexturedStandard {
    color: Nullable<ColorString>;
    opacity: Nullable<number>;
    texture: Nullable<string>;
    alphaMap: Nullable<string>;
    textureRepeat: Nullable<Point | number>;
    textureFlipY: Nullable<boolean>;
    textureRotation: Nullable<number>;
    wireframe: Nullable<boolean>;
    envMap: Nullable<string>;
    envMapIntensity: Nullable<number>;
    aoMap: Nullable<string>;
    aoMapIntensity: Nullable<number>;
    bumpMap: Nullable<string>;
    bumpScale: Nullable<number>;
    displacementMap: Nullable<string>;
    displacementScale: Nullable<number>;
    displacementBias: Nullable<number>;
    emissive: Nullable<boolean>;
    emissiveIntensity: Nullable<number>;
    lightMap: Nullable<string>;
    lightMapIntensity: Nullable<number>;
    metalnessMap: Nullable<string>;
    metalness: Nullable<number>;
    roughnessMap: Nullable<string>;
    roughness: Nullable<number>;
    normalMap: Nullable<string>;
    normalScale: Nullable<number>;
    depthTest: Nullable<boolean>;
    blending: Nullable<Blending>;
}
export declare const texturedStandardSchema: Required<ExtractProps<ITexturedStandard>>;
export declare const blendingChoices: Choices<string>;
export declare const texturedStandardDefaults: Partial<import("./utils/Defaults").default<ITexturedStandard>>;
