import type { DepthTextureBinding, PostProcessColorSpace, ToneMappingOperator } from "../../PostProcessPass";
export interface ProductionPostProcessInput {
    readonly width: number;
    readonly height: number;
    readonly pixels: Uint8Array;
    readonly depth?: DepthTextureBinding;
    readonly history?: Uint8Array;
    readonly velocity?: Float32Array;
}
export interface ProductionPostProcessOutput extends ProductionPostProcessInput {
    readonly passName: string;
    readonly changedPixels: number;
    readonly metrics: Readonly<Record<string, number | string | boolean>>;
    readonly diagnostics: readonly string[];
}
export interface ProductionPostProcessPass {
    readonly name: string;
    readonly enabled: boolean;
    apply(input: ProductionPostProcessInput): ProductionPostProcessOutput;
}
export interface ProductionToneMapOptions {
    readonly exposure?: number;
    readonly whitePoint?: number;
    readonly gamma?: number;
    readonly operator?: ToneMappingOperator;
    readonly inputColorSpace?: PostProcessColorSpace;
    readonly outputColorSpace?: PostProcessColorSpace;
}
export declare function createProductionPostProcessInput(pixels: Uint8Array, width: number, height: number, options?: Omit<ProductionPostProcessInput, "pixels" | "width" | "height">): ProductionPostProcessInput;
export declare function createProductionDemoPostProcessInput(width?: number, height?: number): ProductionPostProcessInput;
export declare function createProductionPostProcessOutput(input: ProductionPostProcessInput, passName: string, pixels: Uint8Array, metrics: Readonly<Record<string, number | string | boolean>>, diagnostics: readonly string[]): ProductionPostProcessOutput;
export declare function createProductionDepthProxy(width: number, height: number): DepthTextureBinding;
export declare function createProductionHistoryProxy(pixels: Uint8Array, width: number, height: number): Uint8Array;
export declare function createProductionVelocityProxy(width: number, height: number): Float32Array;
export declare function countChangedRgb(a: Uint8Array, b: Uint8Array): number;
export declare function validateProductionPixels(pixels: Uint8Array, width: number, height: number): void;
//# sourceMappingURL=ProductionPostProcessTypes.d.ts.map