import { Scope } from './integrate.js'; /** npm package that ships the Respan pi extension. */ export declare const PI_PACKAGE_NAME = "@respan/instrumentation-pi"; /** Package spec understood by `pi install` / `pi remove`. */ export declare const PI_PACKAGE_SPEC = "npm:@respan/instrumentation-pi"; /** * Arguments for the `pi` binary that install the extension package. * * - global (default): `pi install npm:@respan/instrumentation-pi` * - local: `pi install -l npm:@respan/instrumentation-pi` */ export declare function piInstallArgs(scope: Scope): string[]; /** * Location of the non-secret config file read by the extension: * `~/.pi/agent/respan.json` (global) or `/.pi/respan.json` (local). * The extension applies defaults → global → project → env, so both may coexist. */ export declare function piConfigPath(scope: Scope, projectRoot: string, home?: string): string; /** `session` = one multi-root trace per pi session (default); `run` = one trace per agent run. */ export type PiTraceScope = 'run' | 'session'; export interface PiRespanConfigOptions { enabled: boolean; customerId?: string; workflowName?: string; projectId?: string; /** Written as `trace_scope`. */ traceScope?: PiTraceScope; /** Only written when it differs from the SaaS default. */ baseUrl?: string; /** * Port of a local `respan collector`. When set, `base_url` points at it * (http://127.0.0.1:) instead of `baseUrl`, so traces are delivered * through the collector's persistent queue. */ collectorPort?: number; /** Custom attributes, stored under `metadata` and merged with existing ones. */ attrs?: Record; } /** * Build the respan.json contents for the @respan/instrumentation-pi extension. * * Keys are snake_case and match the extension's config loader: * `enabled`, `customer_id`, `workflow_name`, `project_id`, `trace_scope`, * `base_url`, `metadata`. * Nothing secret goes here — the API key is resolved at runtime from * RESPAN_API_KEY or ~/.respan/credentials.json. Existing keys are preserved so * re-running the command only layers the flags that were passed. */ export declare function buildPiRespanConfig(existing: Record, opts: PiRespanConfigOptions): Record;