/// /// import { MessageResponses } from "../util/observe"; import { Simulation } from "../core/runtime/Simulation"; import { FunctionCallOutlet } from "./constructs/FunctionCallOutlet"; import { FunctionOutlet } from "./constructs/FunctionOutlet"; import { ConstructOutlet } from "./constructs/ConstructOutlet"; import { RuntimeFunction } from "../core/compilation/functions"; import { Project } from "../core/Project"; import { IstreamBufferOutlet } from "./IstreamBufferOutlet"; import { TemporaryObjectsCustomization, StackFrameCustomization } from "./memory/StackFrameOutlet"; import { MemoryOutlet } from "./memory/MemoryOutlet"; export declare const FADE_DURATION = 300; export declare const SLIDE_DURATION = 400; export declare class SimulationOutlet { readonly sim?: Simulation; private simRunner?; private runnerDelay; readonly codeStackOutlet: CodeStackOutlet; readonly memoryOutlet: MemoryOutlet; readonly cinBufferOutlet: IstreamBufferOutlet; private readonly element; private readonly runningProgressElem; private readonly buttonElems; private readonly alertsElem; private readonly consoleContentsElem; private readonly cinEntryElem; private breadcrumbs; _act: MessageResponses; constructor(element: JQuery); setSimulation(sim: Simulation): void; clearSimulation(): void; private refreshSimulation; private setEnabledButtons; private restart; private stepForward; private leaveBreadcrumb; private stepOver; private stepOut; private runToEnd; private pause; private stepBackward; private hideAlerts; private cout; private onCinInput; private onEventOccurred; private reset; private atEnded; } export declare class DefaultLobsterOutlet { private projectEditor; private simulationOutlet; readonly project: Project; readonly sim?: Simulation; private readonly element; private readonly tabsElem; _act: MessageResponses; constructor(element: JQuery, project: Project); setSimulation(sim: Simulation): void; clearSimulation(): void; private requestFocus; private beforeStepForward; } export declare const OutletCustomizations: { temporaryObjects: TemporaryObjectsCustomization; func: { [index: number]: StackFrameCustomization; }; }; export declare abstract class RunningCodeOutlet { protected element: JQuery; protected overlayElem: JQuery; protected stackFramesElem: JQuery; readonly sim?: Simulation; _act: MessageResponses; constructor(element: JQuery); setSimulation(sim: Simulation): void; clearSimulation(): void; abstract pushFunction(rtFunc: RuntimeFunction): void; abstract popFunction(): void; valueTransferOverlay(from: JQuery, to: JQuery, html: string, afterCallback?: () => void, duration?: number): void; abstract refreshSimulation(): void; private reset; private pushed; private popped; } export declare class CodeStackOutlet extends RunningCodeOutlet { private frameElems; private functionOutlets; _act: MessageResponses; /** * Maps from runtime ID of a RuntimeFunction to the outlet * that represents the call to that function. */ private callOutlets; constructor(element: JQuery); pushFunction(rtFunc: RuntimeFunction): FunctionOutlet; popFunction(): void; refreshSimulation(): void; protected childOutletAdded(data: { parent: ConstructOutlet; child: ConstructOutlet; }): void; protected valueTransferStart(data: { num: number; start: JQuery; html: string; }): void; protected functionCalled(data: { outlet: FunctionCallOutlet; func: RuntimeFunction; }): void; protected returnPassed(data: { func: RuntimeFunction; start: JQuery; html: string; result: any; }): void; }