import type { App } from "../app/App"; import { RuntimeScopeGS } from "../app/RuntimeGS"; import { StateConfigurationGS } from "./StateConfigurationGS"; import type { StateConstructor } from "./StateContractsGS"; import { StateRunResultEnum } from "./StateContractsGS"; import type { StateGS } from "./StateGS"; export interface StateRunOptionsGS { readonly withHistory?: boolean; readonly notFound?: boolean; readonly fromUrl?: boolean; /** Original browser/request URL used to resolve the state, including its fragment. */ readonly requestedUrl?: string; } export interface StateTransitionGS { readonly constructor: StateConstructor; readonly args?: any; readonly url: string; } interface StateExecutionScopeGS { activeState?: StateGS; runningState?: StateGS; afterStartState?: StateGS; transition?: StateTransitionGS; } /** Environment adapter behind the public StateGS facade. */ export declare abstract class StateRuntimeGS { protected readonly app: App; readonly configuration: StateConfigurationGS; protected constructor(app: App, configuration: StateConfigurationGS); get activeState(): StateGS | undefined; get urlStateArgName(): string; get defaultStateName(): string; get state404Name(): string; buildStateUrl(stateName: string, args?: Record): string; buildUrlForState(state: StateGS, extraArgs?: Record): string; protected ensureTransitionAllowed(targetStateName: string): void; runByName(stateName: string, args?: any, options?: StateRunOptionsGS): Promise; runByUrlArgs(args: Record, options?: StateRunOptionsGS): Promise; runByUrl(url?: string, options?: StateRunOptionsGS): Promise; abstract run(constructor: StateConstructor, args?: any, options?: StateRunOptionsGS): Promise; abstract runInstance(state: StateGS, args?: any, options?: StateRunOptionsGS): Promise; protected getCurrentUrl(): string; } export declare class StateRuntimeStoreGS { private static readonly _runtimes; private static readonly _executions; static has(app: App): boolean; static set(app: App, runtime: StateRuntimeGS): void; static require(app?: App): StateRuntimeGS; static execution(scope?: RuntimeScopeGS): StateExecutionScopeGS; private static currentApp; private static currentScope; } export {};