export interface GeoData {
    country: string;
    countryCode: string;
    city: string;
    timezone: string;
}
export type TelemetryEventName = 'init_project' | 'create_spec' | 'tool_used' | 'tool_error' | 'tool_blocked' | 'trial_started'
/** SPEC-705: Emitted when agent parallelism is downgraded due to host RAM constraints. */
 | 'ram_guardrail_downgrade'
/** SPEC-727: Emitted when a panel is aborted because two specialists share the same (modelId, promptHash). */
 | 'panel_heterogeneity_violation';
export interface TelemetryConfig {
    enabled: boolean;
    installationId: string;
    /** ISO timestamp of when the user was first shown the opt-in prompt */
    promptedAt: string;
    /** SPEC-572: Opt-in to cross-project Observatory aggregated insights (requires telemetry enabled) */
    enableObservatory?: boolean;
}
export interface TelemetryEvent {
    event: TelemetryEventName;
    properties: Record<string, unknown>;
    installationId: string;
}
export interface ConfigureTelemetryInput {
    projectId: string;
    /** 'enable' | 'disable' | 'status' */
    action: 'enable' | 'disable' | 'status';
    /** SPEC-572: Opt-in to cross-project Observatory aggregated insights */
    enableObservatory?: boolean;
}
export interface TelemetryResult {
    action: string;
    enabled: boolean;
    installationId: string;
    message: string;
}
export interface TelemetryCheck {
    name: string;
    status: 'ok' | 'warn' | 'fail' | 'skip';
    detail: string;
}
export interface TelemetryHealthResult {
    status: 'healthy' | 'degraded' | 'disabled' | 'misconfigured';
    checks: TelemetryCheck[];
    recommendation: string;
    humanSummary: string;
}
export interface TelemetryHealthInput {
    projectPath: string;
    sendTestEvent?: boolean;
}
//# sourceMappingURL=telemetry.d.ts.map