import '../../../assert/js/assert.js';
import '../../../globals.js';
/**
 * A stack of values (effectively vec4s) that are used by RenderInstructions to evaluate a RenderProgram.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import Vector4 from '../../../dot/js/Vector4.js';
declare const ExecutionArrayType: Float64ArrayConstructor;
type ExecutionData = InstanceType<typeof ExecutionArrayType>;
export default class RenderExecutionStack {
    data: ExecutionData;
    private dataLength;
    reset(): void;
    getLength(): number;
    getCurrentIndex(): number;
    getLastIndex(): number;
    push(vector: Vector4): Vector4;
    pushValues(x: number, y: number, z: number, w: number): void;
    pushNumber(n: number): void;
    popInto(vector: Vector4): Vector4;
    popNumber(): number;
    writeTop(vector: Vector4): Vector4;
    writeTopValues(x: number, y: number, z: number, w: number): void;
    readTop(vector: Vector4): Vector4;
}
export {};
//# sourceMappingURL=RenderExecutionStack.d.ts.map