interface SvgColorsInSets {
    fill: Set<string>;
    stroke: Set<string>;
    stop: Set<string>;
}
interface SvgColors {
    fill: string[];
    stroke: string[];
    stop: string[];
}
interface ReplaceDetail {
    target: string;
    replace: string;
}

declare const fill: (elementStringOrElement: SVGElement | Element | string, color: string, ignoreColors?: string[], callback?: Function) => string | void;

declare const replace: (svg: SVGElement | Element | string, detailsArray: ReplaceDetail[], callback?: Function) => string | void;

declare const invert: (elementStringOrElement: SVGElement | Element | string, callback?: Function) => string | void;

declare const extractColors: (element: SVGElement | Element | string, onlyParent?: boolean, asArray?: boolean) => SvgColors | string[];

declare const generateRandomColor: (format?: "hex" | "rgb") => string;

declare const changeBrightness: (svg: SVGElement | Element | string, factor: number) => string | void;
declare const changeAlpha: (svg: SVGElement | Element | string, factor: number) => string | void;
declare const changeSaturation: (svg: SVGElement | Element | string, factor: number) => string | void;
declare const changeHue: (svg: SVGElement | Element | string, factor: number) => string | void;

declare const _default: {
    fill: (elementStringOrElement: SVGElement | Element | string, color: string, ignoreColors?: string[], callback?: Function) => string | void;
    replace: (svg: SVGElement | Element | string, detailsArray: ReplaceDetail[], callback?: Function) => string | void;
    invert: (elementStringOrElement: SVGElement | Element | string, callback?: Function) => string | void;
    extractColors: (element: SVGElement | Element | string, onlyParent?: boolean, asArray?: boolean) => SvgColors | string[];
    generateRandomColor: (format?: "hex" | "rgb") => string;
    changeBrightness: (svg: SVGElement | Element | string, factor: number) => string | void;
    changeAlpha: (svg: SVGElement | Element | string, factor: number) => string | void;
    changeSaturation: (svg: SVGElement | Element | string, factor: number) => string | void;
    changeHue: (svg: SVGElement | Element | string, factor: number) => string | void;
};

export { type ReplaceDetail, type SvgColors, type SvgColorsInSets, changeAlpha, changeBrightness, changeHue, changeSaturation, _default as default, extractColors, fill, generateRandomColor, invert, replace };
