import type { Registry } from './schema'; export interface GatedFinding { part: string; file: string; prop: string; /** The part or view whose body holds the gate. */ in: string; } /** * Every prop that gates something a part draws, where some story draws the * part and none of those stories passes the prop. * * "Draws the part" means a story file imports the part's own file — its own * stories, or an umbrella sheet such as Peek's Overlays/Menus, which is how * TopicMoreMenu lost Rename and Copy link. A gate a part only hands on counts * as its own: ConversationCard hands `onReply` to the strip that draws Reply, * so a ConversationCard story that never passes it shows no Reply. Followed * three parts deep at most. */ export interface GatedOptions { /** The classes checked. The contract's by default. */ kinds?: readonly string[]; /** * `own`: a part's own stories show everything it can draw — ConversationCard's * stories must show Reply. `anywhere`: a handed-on gate counts as shown when * the part it is handed to has a story that shows it. Katerina rules which. */ pictured?: 'own' | 'anywhere'; } export declare function gatedFindings(registry: Registry, root: string, { kinds, pictured }?: GatedOptions): GatedFinding[]; //# sourceMappingURL=gated.d.ts.map