export interface IColorContrastFromOrigin { step: number; label: string; light: string; dark: string; } /** * Lấy cụ thể một shade hoặc tint của màu dựa trên bước (step) * @param color Mã màu HEX (3 hoặc 6 ký tự) * @param stepNumber Bước màu cần lấy (5, 10, 15... 100) * @returns Đối tượng chứa thông tin bước màu và mã HEX light/dark */ export declare const colorStepContrastFromOrigin: (color: string, stepNumber: number) => IColorContrastFromOrigin | undefined; /** * Tạo ra danh sách các sắc độ (shades & tints) từ một màu gốc * @param color Mã màu HEX * @returns Mảng các đối tượng chứa step, label, light hex và dark hex */ export declare const colorContrastFromOrigin: (color: string) => Array; /** * Chuyển đổi đối tượng RGB sang mã HEX (không có dấu #) * @param rgb Đối tượng chứa red, green, blue * @returns Chuỗi HEX 6 ký tự */ export declare const rgbToHex: (rgb: any) => string; /** * Danh sách các mã màu định nghĩa sẵn để sử dụng trong getColorById */ export declare const listColorDefine: Array; /** * Lấy một màu định nghĩa sẵn dựa trên chuỗi đầu vào (như ID người dùng, tên...) * Màu trả về là duy nhất và cố định cho cùng một chuỗi đầu vào. * @param str Chuỗi để hash lấy màu * @returns Mã màu HEX từ listColorDefine */ export declare const getColorById: (str: string) => string; /** * Loại bỏ các thuộc tính màu sắc (color, background...) "gần trắng" khỏi chuỗi style CSS * Giúp tránh việc hiển thị chữ trắng trên nền trắng khi merge style lung tung. * @param style Chuỗi style CSS (ví dụ: "color: #fff; font-size: 14px;") * @returns Chuỗi style đã được làm sạch */ export declare const detectAndCleanNearWhiteColors: (style: string) => string; /** * Kiểm tra một màu có phải là "gần trắng" hay không * Dựa trên luminance > 0.95 và saturation < 0.1 * @param color Mã màu (HEX, RGB, RGBA hoặc tên màu CSS) * @returns true nếu màu gần trắng */ export declare const isNearWhite: (color: string) => boolean;