import { type UniformValue } from "./RenderDevice";
import { BaseRenderPass, type RenderPassContext } from "./RenderPass";
import { type ShaderLibrary } from "./ShaderLibrary";
import { TextureBinding } from "./TextureBinding";
export type EnvironmentBackgroundProjection = "equirect" | "cubemap";
export type EnvironmentBackgroundEncoding = "linear" | "srgb" | "rgbe";
export interface EnvironmentBackgroundOptions {
    readonly projection: EnvironmentBackgroundProjection;
    readonly texture: TextureBinding;
    readonly encoding?: EnvironmentBackgroundEncoding;
    readonly intensity?: number;
    readonly rotation?: number;
    readonly outputColorSpace?: "linear" | "srgb";
    readonly inverseViewProjectionMatrix?: Float32Array | readonly number[];
    readonly shaderLibrary?: ShaderLibrary;
}
export declare const ENVIRONMENT_BACKGROUND_COLOR_RESOURCE = "environment-background-color";
export declare class EnvironmentBackgroundPass extends BaseRenderPass {
    private readonly options;
    private static readonly shaderCaches;
    private readonly shaderLibrary;
    constructor(options: EnvironmentBackgroundOptions);
    execute(context: RenderPassContext): void;
    private getShader;
}
export declare function createEnvironmentBackgroundUniforms(options: EnvironmentBackgroundOptions): ReadonlyMap<string, UniformValue>;
//# sourceMappingURL=EnvironmentBackgroundPass.d.ts.map