import IEventLoop from "./IEventLoop";
import { LingoMouseEvent } from "./IMouse";
import Defaults from "./utils/Defaults";
import { ExtractProps } from "./utils/extractProps";
import Nullable from "./utils/Nullable";
export default interface IStaticObjectManager extends IEventLoop {
    onClick: Nullable<(e: LingoMouseEvent) => void>;
    onMouseDown: Nullable<(e: LingoMouseEvent) => void>;
    onMouseUp: Nullable<(e: LingoMouseEvent) => void>;
    onMouseOver: Nullable<(e: LingoMouseEvent) => void>;
    onMouseOut: Nullable<(e: LingoMouseEvent) => void>;
    onMouseMove: Nullable<(e: LingoMouseEvent) => void>;
    onLookToEnd: Nullable<() => void>;
    lookAt: Function | Array<any>;
    lookTo: Function | Array<any>;
    name: string;
    id: Nullable<string>;
    bloom: boolean;
    outline: boolean;
    visible: boolean;
    frustumCulled: boolean;
    castShadow: boolean;
    receiveShadow: boolean;
    metalnessFactor: Nullable<number>;
    roughnessFactor: Nullable<number>;
    opacityFactor: Nullable<number>;
    envFactor: Nullable<number>;
    adjustColor: Nullable<string>;
    reflection: boolean;
    illumination: boolean;
    toon: boolean;
}
export declare const staticObjectManagerSchema: Required<ExtractProps<IStaticObjectManager>>;
export declare const staticObjectManagerDefaults: Defaults<IStaticObjectManager>;
