import { ErrorLensOptions, MonacoMarkerData } from './types';
/**
 * Converts Monaco marker severity to a CSS class suffix
 */
export declare function getSeverityClass(severity: number): string;
/**
 * Formats a diagnostic message according to the template
 */
export declare function formatMessage(marker: MonacoMarkerData, template?: string, maxLength?: number): string;
/**
 * Debounce function for performance optimization
 * Returns both the debounced function and a cancel method for cleanup
 */
export declare function debounce<T extends (...args: unknown[]) => void>(func: T, wait: number): {
    debouncedFn: (...args: Parameters<T>) => void;
    cancel: () => void;
};
/**
 * Throttle function for performance optimization
 */
export declare function throttle<T extends (...args: unknown[]) => void>(func: T, limit: number): (...args: Parameters<T>) => void;
/**
 * Escapes HTML special characters
 */
export declare function escapeHtml(text: string): string;
/**
 * Creates a unique identifier
 */
export declare function createId(): string;
/**
 * Merges default options with user options
 */
export declare function mergeOptions(defaultOptions: Required<ErrorLensOptions>, userOptions?: ErrorLensOptions): Required<ErrorLensOptions>;
/**
 * Sorts markers by line number and then by severity
 */
export declare function sortMarkers(markers: MonacoMarkerData[]): MonacoMarkerData[];
/**
 * Groups markers by line number
 */
export declare function groupMarkersByLine(markers: MonacoMarkerData[]): Map<number, MonacoMarkerData[]>;
/**
 * Counts markers by severity
 */
export declare function countMarkersBySeverity(markers: MonacoMarkerData[]): {
    errors: number;
    warnings: number;
    infos: number;
    hints: number;
};
//# sourceMappingURL=utils.d.ts.map