import { type JourneyDef, type JourneyHandle, type JourneyStepOptions, type JourneyStepTarget, type StepHandle } from '../../core'; /** * Knockout / desktop-legacy bridge on `window.App.Journey`. * Prefer `defineJourney` handles; `journeyStep` / `firstOpenJourneyName` cover multi-journey steps. * Use `getJourneyHandle(name)` when you need the handle from another module. */ interface AppJourneyApi { defineJourney(config: JourneyDef): JourneyHandle; journeyStep(journey: JourneyStepTarget, stepName: string, fn: (step: StepHandle) => T | Promise, opts?: JourneyStepOptions): Promise; /** First open journey **name** among candidates, or null. */ firstOpenJourneyName(names: readonly string[]): string | null; /** `defineJourney` handle for an open name, or null. */ getJourneyHandle(name: string): JourneyHandle | null; } export type WindowWithAppJourney = Window & { App?: { Journey?: AppJourneyApi; } & Record; }; /** * Publish the Knockout bridge on window.App.Journey. Idempotent for the real window. * Optional `target` is for tests. Never throws — logs and returns a usable API if publish fails. */ export declare function exposeAppJourney(target?: WindowWithAppJourney): AppJourneyApi; export { instrumentJquery, type JqueryStatic } from './instrument'; //# sourceMappingURL=index.d.ts.map