///
///
import { RuntimeBreakStatement, CompiledBreakStatement } from "../../core/constructs/statements/BreakStatement";
import { RuntimeDeclarationStatement, CompiledDeclarationStatement } from "../../core/constructs/statements/DeclarationStatement";
import { RuntimeExpressionStatement, CompiledExpressionStatement } from "../../core/constructs/statements/ExpressionStatement";
import { RuntimeForStatement, CompiledForStatement } from "../../core/constructs/statements/ForStatement";
import { RuntimeIfStatement, CompiledIfStatement } from "../../core/constructs/statements/IfStatement";
import { RuntimeNullStatement, CompiledNullStatement } from "../../core/constructs/statements/NullStatement";
import { RuntimeReturnStatement, CompiledReturnStatement } from "../../core/constructs/statements/ReturnStatement";
import { CompiledStatement, RuntimeStatement } from "../../core/constructs/statements/Statement";
import { RuntimeWhileStatement, CompiledWhileStatement } from "../../core/constructs/statements/WhileStatement";
import { ConstructOutlet } from "./ConstructOutlet";
import { ExpressionOutlet } from "./ExpressionOutlets";
import { InitializerOutlet } from "./InitializerOutlet";
import { ReturnInitializerOutlet } from "./ReturnInitializerOutlet";
export declare function createStatementOutlet(element: JQuery, construct: CompiledStatement, parent?: ConstructOutlet): StatementOutlet>;
export declare class StatementOutlet extends ConstructOutlet {
constructor(element: JQuery, construct: RTConstruct_type["model"], parent?: ConstructOutlet);
}
export declare function addChildStatementOutlet(parentElement: JQuery, construct: CompiledStatement, parent: ConstructOutlet, indented?: boolean): StatementOutlet>;
export declare class NullStatementOutlet extends StatementOutlet {
constructor(element: JQuery, construct: CompiledNullStatement, parent?: ConstructOutlet);
}
export declare class ExpressionStatementOutlet extends StatementOutlet {
readonly expression: ExpressionOutlet;
constructor(element: JQuery, construct: CompiledExpressionStatement, parent?: ConstructOutlet);
protected instanceSet(inst: RuntimeExpressionStatement): void;
protected popped(): void;
}
export declare class DeclarationStatementOutlet extends StatementOutlet {
readonly initializerOutlets: readonly (InitializerOutlet | undefined)[];
private declaratorElems;
private currentDeclarationIndex;
constructor(element: JQuery, construct: CompiledDeclarationStatement, parent?: ConstructOutlet);
protected instanceSet(inst: RuntimeDeclarationStatement): void;
protected instanceRemoved(oldInst: RuntimeDeclarationStatement): void;
private setCurrentDeclarationIndex;
private initializing;
protected popped(): void;
}
export declare class IfStatementOutlet extends StatementOutlet {
readonly condition: ExpressionOutlet;
readonly then: StatementOutlet;
readonly otherwise?: StatementOutlet;
constructor(element: JQuery, construct: CompiledIfStatement, parent?: ConstructOutlet);
}
export declare class WhileStatementOutlet extends StatementOutlet {
readonly condition: ExpressionOutlet;
readonly body: StatementOutlet;
constructor(element: JQuery, construct: CompiledWhileStatement, parent?: ConstructOutlet);
}
export declare class ForStatementOutlet extends StatementOutlet {
readonly initial: StatementOutlet;
readonly condition: ExpressionOutlet;
readonly post?: ExpressionOutlet;
readonly body: StatementOutlet;
constructor(element: JQuery, construct: CompiledForStatement, parent?: ConstructOutlet);
}
export declare class BreakStatementOutlet extends StatementOutlet {
constructor(element: JQuery, construct: CompiledBreakStatement, parent?: ConstructOutlet);
}
export declare class ReturnStatementOutlet extends StatementOutlet {
readonly returnInitializer?: ReturnInitializerOutlet;
constructor(element: JQuery, construct: CompiledReturnStatement, parent?: ConstructOutlet);
}