export interface RuleMetadata { /** kebab-case rule name from // lintcn:name or derived from folder name */ name: string; /** runtime rule name parsed from Go `rule.Rule{Name: "..."}`. This is * the name tsgolint uses in diagnostics and must match --warn flags. * Falls back to `name` if the Go Name field can't be parsed. */ goRuleName: string; /** one-line description from // lintcn:description */ description: string; /** original source URL from // lintcn:source */ source: string; /** severity from // lintcn:severity — 'error' (default) or 'warn'. * Warnings are displayed with yellow styling and don't cause exit code 1. */ severity: 'error' | 'warn'; /** exported Go variable name like NoFloatingPromisesRule */ varName: string; /** Go package name (= subfolder name, e.g. no_floating_promises) */ packageName: string; } export declare function parseMetadata(content: string): Record; export declare function parseRuleVar(content: string): string | undefined; /** Extract the Name field from a specific rule.Rule variable's struct literal. * Scoped to varName to avoid matching Name fields in unrelated structs. */ export declare function parseGoRuleName(content: string, varName: string): string | undefined; export declare function discoverRules(lintcnDir: string): RuleMetadata[]; //# sourceMappingURL=discover.d.ts.map