import { NumberAlias, Svg } from "@svgdotjs/svg.js";
import { TransformData } from "@svgdotjs/svg.js";
import { ImageAdapter } from "../svg/adapter";
export type MasterIcon = {
    icon: Svg;
    darkIcon?: Svg;
};
export declare enum IconTransformationType {
    None = "none",
    Background = "background",
    Brightness = "brightness",
    Invert = "invert"
}
export type IconTransformation = {
    type: IconTransformationType;
    backgroundRadius: number;
    backgroundColor: string;
    imageScale: number;
    brightness: number;
};
export type IconTransformationParameters = {
    backgroundRadius?: number;
    backgroundColor?: string;
    imageScale?: number;
    brightness?: number;
};
export type IconSettings = {
    imageUrl: string;
    transformation: IconTransformation;
};
export type IconFile = {
    name: string;
    downloadableContent: string | Blob;
};
export type IconEditorOutput = {
    files: IconFile[];
    markups: string[];
};
export declare const initTransformation: (type: IconTransformationType, parameters?: IconTransformationParameters) => IconTransformation;
/**
 * @param iiWidth The inner image width
 * @param iiHeight The inner image height
 * @param imgSize The output image size (same width/height)
 * @param iiScale The inner image scale
 */
export declare const innerImageTransform: (iiWidth: number, iiHeight: number, imgSize: number, iiScale?: number) => TransformData;
export declare const transformSvg: (image: Svg, transformation: IconTransformation, imageAdapter: ImageAdapter, finalImageSize?: number) => Svg;
export type CssBrightnessAndContrast = {
    brightness: number;
    contrast: number;
};
export declare const userBrightnessToCssFilter: (userBrightness: number) => CssBrightnessAndContrast;
export declare const isCSSFilterTransformation: (type: IconTransformationType) => type is IconTransformationType.Brightness | IconTransformationType.Invert;
export declare const getCSSFilter: (transformation: IconTransformation) => string;
export declare const numberAliasToNumber: (n: NumberAlias) => number;
export declare const isLightColor: (color: string) => boolean;
