export type CandidateKind = "architecture" | "build" | "docs" | "naming" | "testing" | "workflow"; export type Confidence = "high" | "low" | "medium"; export type SourceKind = "code" | "docs" | "project-profile"; export type SuggestedMode = "advisory" | "candidate-blocker" | "conflict"; export type SourceRef = { readonly evidence: string; readonly filePath: string; readonly line: number; }; export type InferredRule = { readonly confidence: Confidence; readonly id: string; readonly kind: CandidateKind; readonly sourceKind: SourceKind; readonly sourceRefs: readonly SourceRef[]; readonly suggestedMode: SuggestedMode; readonly summary: string; }; export type InstructionConflict = { readonly id: string; readonly sourceRefs: readonly SourceRef[]; readonly summary: string; }; export type InstructionInferenceReport = { readonly conflictsPath: string; readonly generatedAt: string; readonly limitations: readonly string[]; readonly projectDir: string; readonly rules: readonly InferredRule[]; readonly schemaVersion: "instructions-inferred.1"; }; export type InstructionConflictReport = { readonly conflicts: readonly InstructionConflict[]; readonly limitations: readonly string[]; readonly schemaVersion: "instructions-conflicts.1"; }; export type InstructionInferenceResult = { readonly conflicts: InstructionConflictReport; readonly inferred: InstructionInferenceReport; }; export type ProfileObservation = { readonly architectureStyle: string | null; readonly buildTool: string | null; readonly packageStyle: string | null; readonly sourceRef: SourceRef | null; }; export declare const INSTRUCTIONS_OUTPUT_DIR = ".persona/instructions"; export declare const INSTRUCTION_INFERENCE_LIMITATIONS: readonly ["Read-only preview: inferred rules are observations, not adopted policy.", "No closure blocker or config mutation is performed.", "This is not a company instruction compliance, app-quality, or broad linter claim."]; export declare function inferredRule(id: string, kind: CandidateKind, confidence: Confidence, sourceKind: SourceKind, suggestedMode: SuggestedMode, summary: string, sourceRefs: readonly SourceRef[]): InferredRule; export declare function sourceRef(projectDir: string, filePath: string, line: number, evidence: string): SourceRef; export declare function firstExisting(projectDir: string, paths: readonly string[]): string | null; export declare function listFiles(rootDir: string, suffix: string): readonly string[]; export declare function readText(path: string): string; export declare function lineFor(text: string, pattern: RegExp): number;