import type { ParsedArgs } from "@cotal-ai/core"; import { type TelemetryLevel, type TelemetrySource } from "@cotal-ai/workspace"; export declare const telemetryFlags: readonly [{ readonly name: "json"; readonly short: "j"; readonly type: "boolean"; readonly description: "structured output on stdout"; }, { readonly name: "plain"; readonly type: "boolean"; readonly description: "plain line-oriented output"; }]; /** What `cotal telemetry` reports: the level in force, where it comes from, and the install id, * which is `null` when nothing is sent. */ export interface TelemetryResult { readonly kind: "telemetry"; readonly level: TelemetryLevel; readonly source: TelemetrySource; readonly installId: string | null; /** The account hash sent at `regular` (see docs/telemetry.md); `null` otherwise. */ readonly account: string | null; readonly url: string; readonly file: string; } export declare function validateTelemetryArguments(args: ParsedArgs): void; /** `cotal telemetry [off|minimal|regular]`: show the level in force, or set the file's level. A level * the environment forces still wins over the file, and the report says so. Under an environment * opt-out the file is neither read nor created, so a level is not saved: the run is a no-op that * says so. A run that creates the file changed it, even at the default level. */ export declare function telemetry(args: ParsedArgs): Promise; //# sourceMappingURL=telemetry.d.ts.map