/** @packageDocumentation
 * @module Views
 */
import { Environment, GraphicParams } from "@itwin/core-common";
import { RenderSkyBoxParams } from "./render/RenderSystem";
import { DecorateContext } from "./ViewContext";
import { ViewState3d } from "./ViewState";
/** @internal */
export interface GroundPlaneDecorations {
    readonly aboveParams: GraphicParams;
    readonly belowParams: GraphicParams;
}
/** @internal */
export interface SkyBoxDecorations {
    params?: RenderSkyBoxParams;
    promise?: Promise<boolean>;
}
/** @internal */
export declare class EnvironmentDecorations {
    protected readonly _view: ViewState3d;
    protected readonly _onLoaded: () => void;
    protected readonly _onDispose: () => void;
    protected _environment: Environment;
    protected _ground?: GroundPlaneDecorations;
    protected _sky: SkyBoxDecorations;
    constructor(view: ViewState3d, onLoaded: () => void, onDispose: () => void);
    dispose(): void;
    setEnvironment(env: Environment): void;
    decorate(context: DecorateContext): void;
    private loadGround;
    private createGroundParams;
    private loadSkyBox;
    private setSky;
    private loadSkyBoxParams;
    private createCubeImageKey;
    private createSkyGradientParams;
    private imageFromSpec;
}
//# sourceMappingURL=EnvironmentDecorations.d.ts.map