import { Scope, Environment, Opcode } from '../environment'; import { Reference, PathReference, ReferenceIterator } from '@glimmer/reference'; import { Option } from '@glimmer/util'; import { InlineBlock } from '../scanner'; import { EvaluatedArgs } from '../compiled/expressions/args'; import { Component, ComponentManager } from '../component/interfaces'; export declare class CapturedFrame { operand: Option>; args: Option; condition: Option>; constructor(operand: Option>, args: Option, condition: Option>); } export interface Blocks { default: Option; inverse: Option; } export declare class FrameStack { private frames; private frame; private readonly currentFrame; push(start: number, end: number, component?: void | {} | null | undefined, manager?: Option>, shadow?: Option): void; pop(): void; capture(): CapturedFrame; restore(frame: CapturedFrame): void; getStart(): number; getEnd(): number; getCurrent(): number; setCurrent(ip: number): number; getOperand(): PathReference; setOperand(operand: PathReference): PathReference; getImmediate(): T; setImmediate(value: T): T; getArgs(): Option; setArgs(args: EvaluatedArgs): EvaluatedArgs; getCondition(): Reference; setCondition(condition: Reference): Reference; getIterator(): ReferenceIterator; setIterator(iterator: ReferenceIterator): ReferenceIterator; getKey(): Option; setKey(key: string): string; getBlocks(): Blocks; setBlocks(blocks: Blocks): Blocks; getCallerScope(): Scope; setCallerScope(callerScope: Scope): Scope; getComponent(): Component; getManager(): ComponentManager; getShadow(): Option; goto(ip: number): void; nextStatement(env: Environment): Option; }