import { ComponentFactoryResolver, ElementRef, EventEmitter } from '@angular/core';
import { IntegralUIBaseComponent, IntegralUIColorFormat, IntegralUIPopup, IntegralUISpeedMode } from './integralui.core';
import { IntegralUICommonService } from '../services/integralui.common.service';
import * as i0 from "@angular/core";
export declare class IntegralUIColorSlider {
    protected commonService?: IntegralUICommonService;
    private isSliderActive;
    private currentValue;
    private colorList;
    private ctxSlider;
    private ctxSliderButton;
    private buttonPos;
    slider: ElementRef<HTMLCanvasElement>;
    sliderButton: ElementRef<HTMLCanvasElement>;
    set value(val: string);
    get value(): string;
    valueChanged: EventEmitter<any>;
    constructor(commonService?: IntegralUICommonService);
    ngAfterViewInit(): void;
    drawSlider(): void;
    drawSliderButton(): void;
    updateValue(val: string, skip?: boolean): void;
    onCtrlMouseDown(e: any): void;
    onMouseMove(e: MouseEvent): void;
    onMouseUp(e: MouseEvent): void;
    refresh(): void;
    private updateLayout;
    static ɵfac: i0.ɵɵFactoryDef<IntegralUIColorSlider, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<IntegralUIColorSlider, "iui-colorslider", never, { "value": "value"; }, { "valueChanged": "valueChanged"; }, never, never>;
}
export declare class IntegralUIColorPalette {
    protected commonService?: IntegralUICommonService;
    private isPalleteActive;
    private currentColor;
    private currentValue;
    panelDisplayPosition: string;
    panelPos: any;
    panelOpacity: number;
    panelSize: any;
    private colorList;
    private ctxPalette;
    private ctxPaletteButton;
    private buttonPos;
    palette: ElementRef<HTMLCanvasElement>;
    paletteButton: ElementRef<HTMLCanvasElement>;
    set color(value: string);
    get color(): string;
    set value(val: string);
    get value(): string;
    valueChanged: EventEmitter<any>;
    constructor(commonService?: IntegralUICommonService);
    ngAfterViewInit(): void;
    drawPalette(): void;
    drawPaletteButton(): void;
    updateColor(val: string, flag?: boolean): void;
    updateValue(val: string, flag?: boolean): void;
    onCtrlMouseDown(e: any): void;
    onMouseMove(e: MouseEvent): void;
    onMouseUp(e: MouseEvent): void;
    refresh(): void;
    updateColorList(): void;
    updateLayout(): void;
    private updatePaletteButtonPos;
    static ɵfac: i0.ɵɵFactoryDef<IntegralUIColorPalette, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<IntegralUIColorPalette, "iui-colorpalette", never, { "color": "color"; "value": "value"; }, { "valueChanged": "valueChanged"; }, never, never>;
}
export declare class IntegralUIColorPickerPopup extends IntegralUIPopup {
    protected elemRef: ElementRef;
    protected commonService?: IntegralUICommonService;
    currentValue: string;
    private originalValue;
    inputValue: string;
    paletteValue: string;
    private isInputActive;
    colorSize: any;
    inputSize: any;
    protected isVisible: boolean;
    blockElem: ElementRef;
    btnOkElem: ElementRef;
    btnCancelElem: ElementRef;
    displayColorElem: ElementRef;
    formatElem: ElementRef;
    palette: IntegralUIColorPalette;
    slider: IntegralUIColorSlider;
    valueElem: ElementRef;
    colorFormat: IntegralUIColorFormat;
    opacity: number;
    originalColorFormat: IntegralUIColorFormat;
    set value(val: string);
    get value(): string;
    updateCurrentValue(): void;
    closed: EventEmitter<any>;
    valueChanged: EventEmitter<any>;
    constructor(elemRef: ElementRef, commonService?: IntegralUICommonService);
    ngOnInit(): void;
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    open(): void;
    close(value: any, format: IntegralUIColorFormat): void;
    onPaletteValueChanged(e: any): void;
    onSliderValueChanged(e: any): void;
    processClose(): void;
    valueOk(): void;
    valueCancel(): void;
    changeColorFormat(): void;
    getColorFormatString(): "HEX" | "RGB";
    getDisplayColorValue(): string;
    getInputValue(val?: string): string;
    getRGBValue(val?: string): string;
    getHEXValue(val?: string): string;
    getHSLValue(val?: string): string;
    onInputBlur(): void;
    onInputFocus(): void;
    onInputChange(e: any): void;
    inputKeyDown(e: any): void;
    updateLayout(): void;
    getContentStyle(): any;
    static ɵfac: i0.ɵɵFactoryDef<IntegralUIColorPickerPopup, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<IntegralUIColorPickerPopup, "iui-colorpicker-popup", never, { "colorFormat": "colorFormat"; "opacity": "opacity"; "originalColorFormat": "originalColorFormat"; "value": "value"; }, { "closed": "closed"; "valueChanged": "valueChanged"; }, never, never>;
}
export declare class IntegralUIColorPicker extends IntegralUIBaseComponent {
    protected elemRef: ElementRef;
    protected commonService?: IntegralUICommonService;
    protected cmpResolver?: ComponentFactoryResolver;
    private closeTimer;
    private openTimer;
    private colorPopupRef;
    private colorPopup;
    protected currentSelectedValue: string;
    protected isPopupVisible: boolean;
    private isTouchProcessed;
    buttonMargin: any;
    colorMargin: any;
    colorSize: any;
    protected currentPanelSize: any;
    headerMargin: any;
    headerSize: any;
    titleMargin: any;
    titleSize: any;
    protected updateTimer: any;
    headerElem: ElementRef;
    headerButtonElem: ElementRef;
    headerTitleElem: ElementRef;
    protected headerClassName: string;
    protected headerClass: Array<any>;
    protected colorPopupClassName: string;
    protected colorPopupCellClassName: string;
    constructor(elemRef: ElementRef, commonService?: IntegralUICommonService, cmpResolver?: ComponentFactoryResolver);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    protected initStyle(): void;
    removeCloseTimer(): void;
    removeOpenTimer(): void;
    ngOnDestroy(): void;
    animationSpeed: IntegralUISpeedMode;
    appRef: any;
    colorFormat: IntegralUIColorFormat;
    set panelSize(value: any);
    get panelSize(): any;
    set selectedValue(value: string);
    get selectedValue(): string;
    getSelectedColorBackground(): string;
    valueChanged: EventEmitter<any>;
    private addPopup;
    private hidePopup;
    protected removePopup(): void;
    private showPopup;
    getAnimationFactor(value: number, isClosing?: boolean): number;
    closePopup(): void;
    openPopup(): void;
    updateLayout(): void;
    private updateHeaderLayout;
    onCtrlMouseEnter(e: any): void;
    onCtrlMouseLeave(e: any): void;
    headerButtonMouseDown(e: any): void;
    headerButtonTouchStart(e: any): void;
    private toggleButtonClicked;
    getControlStyle(): any;
    protected updateHeaderClass(): void;
    getHeaderClass(): any[];
    protected getHeaderStyle(value: any): any;
    protected getColorPopupStyle(value: any): any;
    protected getColorPopupGeneralStyle(value?: any): any;
    protected getColorPopupCellStyle(value?: any): any;
    protected updateStyle(value: any): void;
    refresh(): void;
    static ɵfac: i0.ɵɵFactoryDef<IntegralUIColorPicker, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<IntegralUIColorPicker, "iui-colorpicker", never, { "controlStyle": "controlStyle"; "data": "data"; "enabled": "enabled"; "name": "name"; "size": "size"; "state": "state"; "animationSpeed": "animationSpeed"; "appRef": "appRef"; "colorFormat": "colorFormat"; "panelSize": "panelSize"; "selectedValue": "selectedValue"; }, { "valueChanged": "valueChanged"; }, never, never>;
}
