/** Parsed `## Footgun:` section with status metadata for entry extraction. */
export interface FootgunSection {
    title: string;
    start: number;
    content: string;
    status: string | null;
}
/**
 * Slice a footgun bucket body at each `## Footgun:` heading into discrete
 * sections, capturing each section's source offset (so callers can compare it
 * against the resolved marker) and its lowercased Status value.
 *
 * @param body - bucket markdown with frontmatter already stripped; section bounds run heading-to-next-heading
 * @returns one section per heading in document order; status is null when the section has no Status field
 */
export declare function splitFootgunSections(body: string): FootgunSection[];
/**
 * Audit one footgun bucket and return every structure, schema, and evidence
 * violation as a human-readable diagnostic. The path is woven into each message
 * so a caller aggregating many buckets can attribute findings without extra state.
 *
 * @param path - bucket path used to prefix each diagnostic for attribution
 * @param content - raw bucket file content; frontmatter is parsed off internally
 * @returns one diagnostic per violation; an empty array means the bucket is well-formed
 */
export declare function collectFootgunStructureDiagnostics(path: string, content: string): string[];
//# sourceMappingURL=learning-loop-sections.d.ts.map