import { type Route, type RouteFile } from './route.js';
export type DiagnosticSeverity = `error` | `warning` | `info`;
export type Diagnostic = DiagnosticIndexConflict | DiagnosticNumberedPrefixConflict | DiagnosticNumberedPrefixOnIndex;
export interface DiagnosticIndexConflict {
    type: `index-conflict`;
    severity: DiagnosticSeverity;
    message: string;
    literal: {
        file: RouteFile;
    };
    index: {
        file: RouteFile;
    };
}
export interface DiagnosticNumberedPrefixConflict {
    type: `numbered-prefix-conflict`;
    severity: DiagnosticSeverity;
    message: string;
    kept: {
        file: RouteFile;
        order: number;
    };
    dropped: {
        file: RouteFile;
        order: number;
    };
}
export interface DiagnosticNumberedPrefixOnIndex {
    type: `numbered-prefix-on-index`;
    severity: DiagnosticSeverity;
    message: string;
    file: RouteFile;
    order: number;
}
export interface LintResult {
    diagnostics: Diagnostic[];
    routes: Route[];
}
export declare const lint: (routes: Route[]) => LintResult;
//# sourceMappingURL=linter.d.ts.map