import type { EnvelopeReturn } from '../../lib/index.ts';
import type { RuleCheckDefinition } from '../ruleRunner.ts';
import { type RepoProfile } from './detectProfile.ts';
import { type SkillTier, type XyoSkillName } from './skillRules.ts';
export interface SkillsLintOptions {
    cwd?: string;
    fix?: boolean;
    globalDir?: string;
    isOffline?: boolean;
    isStrict?: boolean;
    projectDirs?: string[];
    strict?: boolean;
}
export interface OutdatedSkill {
    latest?: string;
    name: XyoSkillName;
    version?: string;
}
export interface SkillsLintResult {
    duplicates: string[];
    errors: number;
    exitCode: number;
    missing: XyoSkillName[];
    outdated: OutdatedSkill[];
    profileTier: SkillTier;
    unnecessary: XyoSkillName[];
    warnings: number;
}
interface SkillsLintContext {
    cwd: string;
    duplicates: string[];
    globalDir: string;
    missing: XyoSkillName[];
    outdated: OutdatedSkill[];
    profile: RepoProfile;
    unnecessary: XyoSkillName[];
}
export declare const SKILLS_LINT_RULES: RuleCheckDefinition<SkillsLintContext>[];
export declare const skillsLint: (options?: SkillsLintOptions) => Promise<EnvelopeReturn>;
export {};
//# sourceMappingURL=lint.d.ts.map