import { type Theme } from "../../types/config";
import { type ThemeType } from "../../types";
interface RGB {
    r: number;
    g: number;
    b: number;
    a: number;
}
/**
 * Parses the user readable config to css variables
 * and adds the material-* variants
 * @param style
 */
export declare const parseSquidTheme: (userTheme: Theme, themeType: ThemeType) => Record<string, string | undefined> | undefined;
export declare function getContrastColor({ r, g, b, }: {
    r: number;
    g: number;
    b: number;
}, threshold?: number): "dark" | "light";
/**
 * Returns a hexadecimal color with opacity based on the given color and opacity percentage.
 *
 * @example getHexColorFromOpacityPercentage('#FF0000', 0.5) // '#FF000080'
 *
 * @param {string} color - The base color in hexadecimal format.
 * @param {number} opacity - The opacity percentage (0-1).
 * @returns {string} The hexadecimal color with opacity.
 */
export declare function getHexColorFromOpacityPercentage(color: string, opacity: number): string;
export declare function hexToRgb(hex: string): {
    r: number;
    g: number;
    b: number;
    a: number;
} | null;
export declare function rgbToHex(r: number, g: number, b: number): string;
export declare function blendColors(foreground: string, background: string): string | null;
export declare function adjustColorForContrast(foreground: string, background: string, factor?: number): string | null;
export declare const isValidHexColor: (hex: string) => boolean;
export declare function parseColor(color: string): RGB | null;
export declare const getColorBrightness: (color: string) => number;
export {};
