export interface DaemonMeta {
    jaegerPid: number;
    otelcolPid: number;
    otlpPort: number;
    uiPort: number;
    mcpPort: number;
    jaegerHealthPort: number;
    otelcolHealthPort: number;
    logsOtlpPort: number;
    startedAt: string;
    jaegerBinary: string;
    otelcolBinary: string;
    platform: string;
    logsPath: string;
}
export interface DaemonStartOptions {
    otlpPort?: number;
    uiPort?: number;
}
export type DaemonStatusResult = {
    running: true;
    jaegerPid: number;
    otelcolPid: number;
    otlpPort: number;
    uiPort: number;
    mcpPort: number;
    startedAt: string;
} | {
    running: false;
};
export interface DaemonStopResult {
    stopped: boolean;
    signaledJaegerPid?: number;
    signaledOtelcolPid?: number;
    usedSigkill?: boolean;
}
/**
 * Resolve the path to a bundled binary via npm's optional-deps package
 * resolution. Throws a user-facing error if the platform package isn't
 * installed (unsupported platform, or `npm install` hasn't run).
 */
export declare function resolveBinary(name: "jaeger" | "otelcol"): string;
export declare function isPortListening(port: number): Promise<boolean>;
export declare function findFreePort(requested: number): Promise<number>;
export declare function daemonStart(opts?: DaemonStartOptions): Promise<DaemonMeta>;
export declare function daemonStatus(): Promise<DaemonStatusResult>;
export declare function daemonStop(): Promise<DaemonStopResult>;
export declare function daemonRestart(opts?: DaemonStartOptions): Promise<DaemonMeta>;
