/**
 * olam logs <world> — Stream application logs from a world.
 *
 * Phase C / C1 (engine-aware): on invocation, fetches /health to read the
 * X-Olam-Engine header, then streams from `GET /v1/worlds/<id>/logs` on
 * host-cp which delegates to the active ContainerEngine (Docker | K8s).
 * Output is engine-agnostic newline-delimited:
 *   `<ISO timestamp> <pod-or-container>/<container> <line>`
 *
 * Pre-C the command consumed the per-world CP's /api/logs SSE channel via
 * the host-cp proxy. That code path stays alive elsewhere in the codebase
 * (per-world CP still serves the SSE stream) but olam-cli no longer calls
 * it — revert this commit and the old behavior comes back wholesale.
 *
 * Options:
 *   --service <name>   Stream a single container (K8s) / pass-through (Docker)
 *   --follow           Stream indefinitely until Ctrl-C (default: false)
 *   --tail <n>         Lines to show before exiting (default: 200)
 */
import type { Command } from 'commander';
/**
 * Color a log line based on its log-level keyword.
 * ERROR → red, WARN → yellow, INFO → dim, default → unchanged.
 */
export declare function colorLine(line: string): string;
/**
 * Format a log line for terminal output.
 * Prepends `[service] ` (cyan) when showService is true.
 */
export declare function formatLine(line: string, service: string | undefined, showService: boolean): string;
interface SseReplay {
    type: 'replay';
    service?: string;
    lines: string[];
}
interface SseLine {
    type: 'line';
    service?: string;
    line: string;
    ts: number;
}
type SseEvent = SseReplay | SseLine;
export declare function parseSseEvent(raw: string): SseEvent | null;
export interface LogsRequestOpts {
    readonly tail: number;
    readonly follow: boolean;
    readonly service?: string;
}
export declare function buildLogsUrl(worldId: string, opts: LogsRequestOpts, port?: number): string;
export declare function registerLogs(program: Command): void;
export {};
//# sourceMappingURL=logs.d.ts.map