/** Who a concept may be disclosed to. `clinician` is implicit on every row. */ export type DisclosureAudience = 'clinician' | 'patient' | 'external'; export interface DisclosureRule { /** Stable concept id — never a UI label, never a data-model field path. */ id: string; /** Where the concept is captured or rendered. */ surface: 'intake' | 'compile' | 'evolution' | 'readOnly' | 'export'; /** Audiences allowed to see it. Always includes 'clinician'. */ audiences: readonly DisclosureAudience[]; /** One English sentence, for the customer sign-off walkthrough. */ rationale: string; /** 'provisional' = our judgement, not the customer's. */ status: 'provisional' | 'signedOff'; } export declare const DISCLOSURE_RULES: readonly DisclosureRule[]; /** The one resolver. Never inline this logic. An unknown id is NOT disclosed — * a concept with no row is a concept nobody has thought about yet. */ export declare function disclosedTo(id: string, audience: DisclosureAudience): boolean; //# sourceMappingURL=anamnesis-disclosure.d.ts.map