import type { OwnerProfileGatewayService } from './owner-profile.js'; /** * The verbatim quote a settings-UI edit carries (docs/owner-profile.md §7, §9.3). * * Named here, once, because two different rules key on it: layer 3 accepts it * as the required utterance, and `autonomousWrites` uses it to tell an edit the * owner made by hand from a fact the runtime inferred. A second spelling of * this string anywhere would silently reclassify every settings edit as an * autonomous one. */ export declare const SETTINGS_EDIT_UTTERANCE = "(edited in settings)"; /** True when this write is the owner editing their own file through a UI. */ export declare function isSettingsEdit(said: string): boolean; /** The three owner-facing switches, read live. */ export interface OwnerProfilePolicy { /** `profile.autonomousWrites`, may the runtime record what it learns? */ readonly autonomousWrites: () => boolean; /** `profile.discloseWrites`, does an autonomous write announce itself? */ readonly discloseWrites: () => boolean; /** `profile.discloseClosedTierReads`, is a named closed-tier read announced? */ readonly discloseClosedTierReads: () => boolean; } /** Everything permitted and everything announced, the schema defaults. */ export declare const PERMISSIVE_OWNER_PROFILE_POLICY: OwnerProfilePolicy; /** * Wrap a store so the owner's three switches actually govern it. * * `forget` and `undo` pass through untouched, deliberately: * * - `autonomousWrites: false` is the "I will curate this myself" mode, and * curating requires being able to delete. Blocking removals when the owner * switched off autonomous LEARNING would turn a preference about what the * machine writes into a lock on their own file. * - `discloseWrites` governs the receipt for a fact the runtime recorded on its * own. §8.3 makes the confirmation of a deletion a separate promise, * "forget that" answers with what went, so it is not silenced here. */ export declare function applyOwnerProfilePolicy(service: OwnerProfileGatewayService, policy: OwnerProfilePolicy): OwnerProfileGatewayService; //# sourceMappingURL=owner-profile-policy.d.ts.map