/** * Parse Harness UI URLs to extract identifiers (org, project, resource type, resource ID, etc.). * Enables users to paste a Harness URL instead of manually specifying individual parameters. */ export interface ParsedHarnessUrl { account_id: string; resource_scope?: "account" | "org" | "project"; org_id?: string; project_id?: string; module?: string; resource_type?: string; resource_id?: string; pipeline_id?: string; execution_id?: string; agent_id?: string; repo_id?: string; pr_number?: string; comment_id?: string; registry_id?: string; artifact_id?: string; environment_id?: string; step_id?: string; stage_id?: string; stage_execution_id?: string; branch?: string; store_type?: string; connector_ref?: string; repo_name?: string; } /** * Parse a Harness UI URL and extract identifiers. * * Handles patterns like: * - .../orgs/{org}/projects/{project}/pipelines/{id}/pipeline-studio * - .../orgs/{org}/projects/{project}/pipelines/{id}/executions/{execId}/pipeline * - .../module/ci/orgs/{org}/projects/{project}/... * - .../all/cd/orgs/{org}/projects/{project}/... * - .../all/settings/connectors/{id} * - Vanity domains (e.g. ancestry.harness.io) * - Path-only URLs (e.g. `/ng/account//...`) — the Harness UI's copy-link * actions sometimes produce these. */ export declare function parseHarnessUrl(urlStr: string): ParsedHarnessUrl; export interface ApplyUrlDefaultsOptions { includeResourceScope?: boolean; } /** * If `url` is provided, parse it and merge extracted values into args as defaults. * Explicit args always take precedence over URL-derived values. * Returns a new object (does not mutate the original). */ export declare function applyUrlDefaults(args: Record, url?: unknown, options?: ApplyUrlDefaultsOptions): Record; //# sourceMappingURL=url-parser.d.ts.map