import { Color, RGBAColor, HSVAColor } from './color'; import { Position } from './utils'; declare type ColorPickerOptions = { window?: Window; el?: HTMLElement | string; background?: string | number; widthUnits?: string; heightUnits?: string; width?: number; height?: number; color?: string | number; }; export declare class ColorPicker { private _window; private _document; private _widthUnits; private _heightUnits; private _huePosition; private _hueHeight; private _maxHue; _inputIsNumber: boolean; private _saturationWidth; private _isChoosing; private _callbacks; width: number; height: number; hue: number; position: Position; color: Color; backgroundColor: Color; hueColor: Color; $el: HTMLElement; $saturation: HTMLElement; $hue: HTMLElement; $sbSelector: HTMLElement; $hSelector: HTMLElement; constructor(options?: ColorPickerOptions); /** * Add the ColorPicker instance to a DOM element. * @param {HTMLElement} el * @return {ColorPicker} Returns itself for chaining purpose */ appendTo(el: HTMLElement | string): ColorPicker; /** * Removes picker from its parent and kill all listeners. * Call this method for proper destroy. */ remove(): void; /** * Manually set the current color of the picker. This is the method * used on instantiation to convert `color` option to actual color for * the picker. Param can be a hexadecimal number or an hex String. * @param {String|Number} color hex color desired * @return {ColorPicker} Returns itself for chaining purpose */ setColor(color: string | number): ColorPicker; /** * Set size of the color picker for a given width and height. Note that * a padding of 5px will be added if you chose to use the background option * of the constructor. * @param {Number} width * @param {Number} height * @return {ColorPicker} Returns itself for chaining purpose */ setSize(width: number, height: number): ColorPicker; /** * Set the background color of the picker. It also adds a 5px padding * for design purpose. * @param {String|Number} color hex color desired for background * @return {ColorPicker} Returns itself for chaining purpose */ setBackgroundColor(color: string | number): ColorPicker; /** * Removes background of the picker if previously set. It's no use * calling this method if you didn't set the background option on start * or if you didn't call setBackgroundColor previously. */ setNoBackground(): ColorPicker; /** * Registers callback to the update event of the picker. * picker inherits from [component/emitter](https://github.com/component/emitter) * so you could do the same thing by calling `colorPicker.on('update');` * @param {Function} callback * @return {ColorPicker} Returns itself for chaining purpose */ onChange(callback: Function): ColorPicker; /** * Is true when mouse is down and user is currently choosing a color. */ get isChoosing(): boolean; /** * Main color getter, will return a formatted color string depending on input * or a number depending on the last setColor call. * @return {Number|String} */ getColor(): number | string; /** * Returns color as css hex string (ex: '#FF0000'). * @return {String} */ getHexString(): string; /** * Returns color as number (ex: 0xFF0000). * @return {Number} */ getHexNumber(): number; /** * Returns color as {r: 1, g: 0, b: 0} object. * @return {Object} */ getRGB(): RGBAColor; /** * Returns color as {h: 100, s: 1, v: 1} object. * @return {Object} */ getHSV(): HSVAColor; /** * Returns true if color is perceived as dark * @return {Boolean} */ isDark(): boolean; /** * Returns true if color is perceived as light * @return {Boolean} */ isLight(): boolean; private _moveSelectorTo; private _updateColorFromPosition; private _moveHueTo; private _updateHueFromPosition; private _updateHue; private _updateColor; private _triggerChange; private _onSaturationMouseDown; private _onSaturationMouseMove; private _onSaturationMouseUp; private _onHueMouseDown; private _onHueMouseMove; private _onHueMouseUp; } export {};