import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * RenderProgram for alpha (an opacity) applied to a RenderProgram
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import Vector4 from '../../../dot/js/Vector4.js';
import { RenderEvaluationContext, RenderInstruction, RenderProgram, SerializedRenderProgram } from '../imports.js';
export default class RenderAlpha extends RenderProgram {
    readonly program: RenderProgram;
    readonly alpha: number;
    constructor(program: RenderProgram, alpha: number);
    getName(): string;
    withChildren(children: RenderProgram[]): RenderAlpha;
    protected equalsTyped(other: this): boolean;
    protected getSimplified(children: RenderProgram[]): RenderProgram | null;
    evaluate(context: RenderEvaluationContext): Vector4;
    writeInstructions(instructions: RenderInstruction[]): void;
    protected getExtraDebugString(): string;
    serialize(): SerializedRenderAlpha;
    static deserialize(obj: SerializedRenderAlpha): RenderAlpha;
}
export type SerializedRenderAlpha = {
    type: 'RenderAlpha';
    program: SerializedRenderProgram;
    alpha: number;
};
//# sourceMappingURL=RenderAlpha.d.ts.map