export interface TelemetryStartOptions {
    otlpPort: string;
    uiPort: string;
}
/**
 * Start the telemetry daemon (Jaeger + otelcol). If already running, prints
 * the current state without spawning a second set of processes.
 */
export declare function telemetryStart(opts: TelemetryStartOptions): Promise<void>;
/**
 * Stop the telemetry daemon. Reports whether it was running, the PIDs it
 * signaled, and whether SIGKILL was required.
 */
export declare function telemetryStop(): Promise<void>;
export interface TelemetryRestartOptions {
    otlpPort?: string;
    uiPort?: string;
}
/**
 * Restart = stop + start. Picks up new binaries after `npm i -g` of a newer
 * indusk-mcp + new platform-package version (T5 contract). When ports are not
 * explicitly supplied, `daemonRestart` inherits them from the previously
 * running daemon's meta file — restart means "same daemon, fresh processes."
 */
export declare function telemetryRestart(opts?: TelemetryRestartOptions): Promise<void>;
/**
 * Report daemon running/not, both ports, both PIDs, started-at, registered
 * project count (read from the registry at `~/.indusk/telemetry/projects.json`).
 */
export declare function telemetryStatus(): Promise<void>;
/**
 * Register a project with the telemetry daemon (internal — called by the
 * extension's on_enable hook). If the daemon isn't running, auto-starts it
 * so the newly-registered project has a live daemon to emit to. Also
 * upserts a `jaeger` MCP server entry in the project's `.mcp.json` pointing
 * at the daemon's current mcpPort — giving the agent direct access to
 * Jaeger's 8 MCP tools (search_traces, get_trace_topology, get_span_details,
 * etc.).
 */
export declare function telemetryRegister(projectPath: string): Promise<void>;
/**
 * Human-facing terminal: tail recent logs from the log sink. Same filters
 * as the MCP `tail_logs` tool, printed as text lines instead of JSON.
 */
export interface TelemetryTailOptions {
    service?: string;
    level: "error" | "warn" | "info" | "debug" | "any";
    sinceMinutes: string;
    limit: string;
}
export declare function telemetryTail(opts: TelemetryTailOptions): Promise<void>;
/**
 * Print the full span tree for a trace ID, via Jaeger's REST query API.
 */
export declare function telemetryTrace(traceId: string): Promise<void>;
/**
 * Print the list of services the daemon has seen, one per line.
 */
export declare function telemetryServices(): Promise<void>;
/**
 * Reset the daemon: stop + restart with fresh in-memory Jaeger storage +
 * truncate logs.jsonl. Human-triggered only; not exposed as an MCP tool.
 */
export declare function telemetryReset(opts: TelemetryStartOptions): Promise<void>;
/**
 * Deregister a project (internal — called by the extension's on_disable hook).
 * Removes the `jaeger` MCP server entry from the project's `.mcp.json`. If
 * the registry becomes empty, gracefully stops the daemon.
 */
export declare function telemetryDeregister(projectPath: string): Promise<void>;
