import { Argument } from "../Argument"; import { FlowLevel } from "./FlowLevel"; import { INamedContent } from "../../../../engine/INamedContent"; import { ParsedObject } from "../Object"; import { Container as RuntimeContainer } from "../../../../engine/Container"; import { Divert as RuntimeDivert } from "../../../../engine/Divert"; import { InkObject as RuntimeObject } from "../../../../engine/Object"; import { VariableAssignment } from "../Variable/VariableAssignment"; import { Weave } from "../Weave"; import { Identifier } from "../Identifier"; type VariableResolveResult = { found: boolean; isGlobal: boolean; isArgument: boolean; isTemporary: boolean; ownerFlow: FlowBase; }; export declare abstract class FlowBase extends ParsedObject implements INamedContent { readonly isFunction: boolean; abstract readonly flowLevel: FlowLevel; _rootWeave: Weave | null; _subFlowsByName: Map; _startingSubFlowDivert: RuntimeDivert | null; _startingSubFlowRuntime: RuntimeObject | null; _firstChildFlow: FlowBase | null; variableDeclarations: Map; get hasParameters(): boolean; get subFlowsByName(): Map; get typeName(): string; get name(): string | null; identifier: Identifier | null; args: Argument[] | null; constructor(identifier: Identifier | null, topLevelObjects?: ParsedObject[] | null, args?: Argument[] | null, isFunction?: boolean, isIncludedStory?: boolean); iamFlowbase: () => boolean; readonly SplitWeaveAndSubFlowContent: (contentObjs: ParsedObject[], isRootStory: boolean) => ParsedObject[]; PreProcessTopLevelObjects(_: ParsedObject[]): void; VariableResolveResult?: VariableResolveResult | null | undefined; ResolveVariableWithName: (varName: string, fromNode: ParsedObject) => VariableResolveResult; AddNewVariableDeclaration: (varDecl: VariableAssignment) => void; ResolveWeavePointNaming: () => void; readonly GenerateRuntimeObject: () => RuntimeObject; readonly GenerateArgumentVariableAssignments: (container: RuntimeContainer) => void; readonly ContentWithNameAtLevel: (name: string, level?: FlowLevel | null, deepSearch?: boolean) => ParsedObject | null; readonly DeepSearchForAnyLevelContent: (name: string) => ParsedObject | null; ResolveReferences(context: any): void; readonly CheckForDisallowedFunctionFlowControl: () => void; readonly WarningInTermination: (terminatingObject: ParsedObject) => void; readonly toString: () => string; } export {};