import type { FunnelManifest, FunnelManifestExperiment } from '../config/funnel.manifest.types.js'; export type FunnelStepId = string; export type FunnelStepOrderGraph = { steps: readonly { id: string; }[]; entryPointStepIds?: readonly string[]; edgesByStepId?: Partial>; }; export declare const getFunnelStepSequence: (manifest: FunnelManifest) => FunnelStepId[]; export declare const getFunnelStepIdsByEdgeOrder: (graph: FunnelStepOrderGraph) => FunnelStepId[]; export declare const getFunnelEntryPoints: (manifest: FunnelManifest) => { stepId: FunnelStepId; id: string; isDefault?: boolean; }[]; export type FunnelExperimentConfig = FunnelManifestExperiment & { stepId: FunnelStepId; variants: Array; }; export declare const getFunnelExperiments: (manifest: FunnelManifest) => FunnelExperimentConfig[]; export declare const getDefaultFunnelStepId: (manifest: FunnelManifest) => FunnelStepId; export declare const getIsFunnelStepId: (manifest: FunnelManifest, value: string) => value is FunnelStepId; export declare const getStepIdFromPath: (manifest: FunnelManifest, pathname: string) => FunnelStepId | null; export declare const getDefaultEntryPointStepId: (manifest: FunnelManifest) => FunnelStepId; export declare const getEntryPointStepId: (manifest: FunnelManifest, entryPointId: string | null | undefined) => FunnelStepId | null; export declare const getSequentialNextStepId: (manifest: FunnelManifest, stepId: FunnelStepId) => FunnelStepId | null; export declare const getChoiceTargetsForStep: (manifest: FunnelManifest, stepId: FunnelStepId) => { yes?: FunnelStepId; no?: FunnelStepId; } | null; export declare const resolveRuntimeInitialStepId: (input: { manifest: FunnelManifest; requestedStepId?: string | null; }) => FunnelStepId; export declare const resolveConfiguredNextStep: (manifest: FunnelManifest, stepId: FunnelStepId, context: { attributes: Record; ignoreExperiment?: boolean; resolveExperimentVariantKey: (experiment: FunnelManifestExperiment) => string | null; }) => FunnelStepId | null;