/**
 * Pass #35: missing-public-doc (category: maintainability)
 *
 * Detects public/exported methods and types that have no doc comment.
 * A "doc comment" is a Javadoc-style `/** ... *\/` block, a TypeScript/JS
 * JSDoc `/** ... *\/` block, a Rust `///` line comment, or a Python docstring
 * (`"""..."""` as the first statement of the function body).
 *
 * What counts as "public":
 *   - Java / Kotlin: `modifiers` contains `"public"`.
 *   - JavaScript / TypeScript: `modifiers` does NOT contain `"private"` or
 *     `"protected"`. (JS has no access keywords; everything is implicitly public.)
 *   - Python: method name does not start with `_`.
 *   - Rust / Bash / other: skipped (doc conventions differ too much).
 *
 * Types (classes, interfaces) are always checked — they are extracted only when
 * they are top-level declarations and therefore always "public" in the IR sense.
 *
 * Test files are excluded: if the file path contains test/spec patterns, the
 * pass emits no findings (doc comments in test helpers are low value).
 */
import type { MethodInfo, TypeInfo } from '../../types/index.js';
import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js';
export interface MissingPublicDocPassResult {
    missingDocMethods: Array<{
        type: TypeInfo;
        method: MethodInfo;
    }>;
    missingDocTypes: TypeInfo[];
}
export declare class MissingPublicDocPass implements AnalysisPass<MissingPublicDocPassResult> {
    readonly name = "missing-public-doc";
    readonly category: "maintainability";
    run(ctx: PassContext): MissingPublicDocPassResult;
}
//# sourceMappingURL=missing-public-doc-pass.d.ts.map