/** * Post-initialization capability enrollment — ADR-302. * * One-time, non-blocking, skippable. Gates, all of which must pass: * - interactive TTY (never in CI / piped / automation) * - not skipped via --no-signup * - funnel enabled under the ADR-305 precedence chain * - never shown before (user-level record, not per-project) * * Accepting authorizes exactly ONE thing: a pointer to `ruflo auth login`. * It does not install the proxy, does not enable telemetry, and does not * enable cloud routing (separate consent domains — ADR-302). The enrollment * outcome never affects init's exit code. */ interface EnrollmentRecord { shownAt: string; outcome: 'accepted' | 'skipped'; } export declare function getEnrollmentRecord(): EnrollmentRecord | null; export declare const ENROLLMENT_SCREEN: string; export declare const ENROLLMENT_SKIP_TEXT = "You can enable later:\n ruflo auth login"; export interface EnrollmentGateContext { noSignup: boolean; cwd?: string; env?: NodeJS.ProcessEnv; } /** All ADR-302 gates. Pure check — does not write state. */ export declare function shouldOfferEnrollment(ctx: EnrollmentGateContext): boolean; /** * Record the user's decision. Both accept and skip are terminal — the * prompt never reappears (ADR-302). Accepting records the `account` * consent receipt; skipping records the decline. */ export declare function recordEnrollmentOutcome(accepted: boolean, now?: Date): void; export {}; //# sourceMappingURL=enrollment.d.ts.map