/** * Activation funnel (ruflo adoption plan; ADR-309 opt-in telemetry). * * installed -> init_completed -> first_agent_run -> session_active (7-day retention) * * Every event goes through recordFunnelEvent, which records nothing without * an explicit, current `telemetry` consent receipt. The once-ever and * once-per-day markers live in their own state file because a successful * flush removes sent events from the queue (lastRecordedEvent would forget). */ import type { FunnelSurface } from './types.js'; /** `ruflo init` finished in a project. Recorded on every successful init. */ export declare function recordInitCompleted(release: string, now?: Date): boolean; /** The first agent spawn or swarm init on this machine. Recorded once, ever. */ export declare function recordFirstAgentRun(release: string, surface?: FunnelSurface, now?: Date): boolean; /** At most one "active today" marker per calendar day (UTC). */ export declare function recordSessionActive(release: string, now?: Date): boolean; /** * Whether `ruflo init` should ask the one-time telemetry question: an * interactive terminal, not CI, funnel not disabled, no telemetry receipt * yet (asked once, whatever the answer), and not suppressed by flag. */ export declare function shouldOfferTelemetry(opts?: { noTelemetryPrompt?: boolean; cwd?: string; env?: NodeJS.ProcessEnv; }): boolean; /** Fire-and-forget wrapper for command handlers: never throws, never blocks. */ export declare function noteFirstAgentRun(surface?: FunnelSurface): void; //# sourceMappingURL=activation.d.ts.map