import type * as postcss from 'postcss';
export type DiagnosticSeverity = 'error' | 'warning' | 'info';
export interface DiagnosticBase {
    severity: DiagnosticSeverity;
    message: string;
    code: string;
}
export interface DiagnosticContext {
    node: postcss.Node;
    word?: string;
    filePath?: string;
}
export interface DiagnosticOptions {
    word?: string;
}
export type Diagnostic = DiagnosticBase & DiagnosticContext;
export declare class Diagnostics {
    reports: Diagnostic[];
    constructor(reports?: Diagnostic[]);
    report(diagnostic: DiagnosticBase, context: DiagnosticContext): void;
}
export declare function createDiagnosticReporter<T extends any[]>(code: string, severity: DiagnosticSeverity, message: (...args: T) => string): {
    (...args: T): DiagnosticBase;
    code: string;
    severity: DiagnosticSeverity;
};
//# sourceMappingURL=diagnostics.d.ts.map