import type { World } from '@workflow/world'; export interface ResolveWorkflowNameOptions { /** * Scan the analytics read path, as the listing reads it. False means * storage: the backend has no analytics, or `--withData` moved the * listing off it. */ useAnalytics: boolean; /** The listing's `--since`/`--until` window, which only analytics takes. */ timeWindow?: { startTime: string; endTime: string; }; } /** * Resolve `--workflowName` to the full name the backends filter on. * * Every World matches `workflowName` exactly, against the generated name * (`workflow//./src/jobs/order//processOrder`), while the runs table shows * the short name (`processOrder`), so the value a user copied from the table * matched nothing. * * A full name passes through with no extra request. Anything else is first * looked up as an exact name, on the read path and in the window the listing * uses: if a run's workflow is named exactly the value (a full name the * parser does not recognize, such as one written outside the SDK), the value * is used as given, as before, even if another workflow's short name matches * it. The lookup is filtered by name rather than read off the scan below, so * an exact run older than the scanned runs still wins. * * Otherwise the value is matched against the short and function names of * the most recent runs' workflows, read the way the listing reads them: * - one workflow matches: its full name is used, and the resolution logged; * - several match (the same export in two modules, or under two dynamic * workflow names): throws with the candidates, since either answer could * be the wrong one; * - none match: the value passes through unchanged with a warning, so a name * that only looks short, or a workflow that has not run recently, behaves * as before. */ export declare function resolveWorkflowNameFilter(world: World, workflowName: string | undefined, options: ResolveWorkflowNameOptions): Promise; //# sourceMappingURL=workflow-name.d.ts.map