/** * Color management utilities for flame graph rendering */ /** * Convert hex color to RGB array (0-1 range) */ export declare function hexToRgb(hex: string): [number, number, number]; /** * Convert RGB array (0-1 range) to hex color */ export declare function rgbToHex(r: number, g: number, b: number): string; /** * Interpolate between two colors */ export declare function interpolateColor(color1: [number, number, number], color2: [number, number, number], t: number): [number, number, number]; /** * Get color for a frame based on its relative size at the same depth level * This is used by the FlameGraph renderer */ export declare function getFrameColorBySameDepthRatio(primaryColor: [number, number, number], secondaryColor: [number, number, number], frameValue: number, totalValueAtDepth: number): [number, number, number]; /** * Get hex color for a frame based on its relative size at the same depth level * This is used by the FlameGraph renderer */ export declare function getFrameColorHexBySameDepthRatio(primaryColorHex: string, secondaryColorHex: string, frameValue: number, totalValueAtDepth: number): string; /** * Apply opacity to a color */ export declare function withOpacity(color: [number, number, number], opacity: number): [number, number, number, number]; /** * Darken a color by a factor */ export declare function darken(color: [number, number, number], factor: number): [number, number, number]; /** * Lighten a color by a factor */ export declare function lighten(color: [number, number, number], factor: number): [number, number, number]; /** * Get a readable text color (black or white) for a given background */ export declare function getContrastColor(backgroundColor: [number, number, number]): [number, number, number]; /** * Validate if a string is a valid hex color */ export declare function isValidHex(hex: string): boolean; /** * Normalize hex color (ensure it has # prefix and is 6 digits) */ export declare function normalizeHex(hex: string): string; //# sourceMappingURL=colors.d.ts.map