/** Question classes ordered by information requirement. */ export type QuestionClass = "existence" | "structure" | "signature" | "behavior"; /** Projection levels ordered by detail. */ export type ProjectionLevel = "outline" | "signature" | "content"; /** Warning when a projection is insufficient for the inferred question. */ export interface SafetyWarning { readonly questionClass: QuestionClass; readonly currentProjection: ProjectionLevel; readonly requiredProjection: ProjectionLevel; readonly message: string; } /** Metadata about what a projection level can answer. */ export interface SafetyClassMetadata { readonly projection: ProjectionLevel; readonly answerable: readonly QuestionClass[]; } /** * Infer the question class from a tool name. * Defaults to "behavior" for unknown tools (conservative). */ export declare function getQuestionClass(toolName: string): QuestionClass; /** * Check whether a projection is sufficient for the question implied * by a tool call. Returns null if safe, or a warning if insufficient. */ export declare function checkProjectionSafety(toolName: string, currentProjection: ProjectionLevel): SafetyWarning | null; /** * Get metadata about what question classes a projection level can answer. */ export declare function getSafetyClassMetadata(projection: ProjectionLevel): SafetyClassMetadata; //# sourceMappingURL=projection-safety.d.ts.map