import { EventEmitter, TemplateRef, ElementRef, ViewContainerRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Overlay } from '@angular/cdk/overlay';
export declare class ColorInput implements ControlValueAccessor {
    private _overlay;
    private _viewContainerRef;
    /**
     * Variable used for creating unique ids for color input components.
     */
    static colorInputCount: number;
    private _overlayRef;
    private _portal;
    containerClass: boolean;
    /**
     * Set to `true` for a disabled color input.
     */
    disabled: boolean;
    /**
     * Set to `true` for a loading color input component.
     */
    skeleton: boolean;
    /**
     * Set to `true` for an invalid color input component.
     */
    invalid: boolean;
    /**
     * Set to `true` for a valid color input component.
     */
    valid: boolean;
    /**
     * The unique id for the color input component.
     */
    id: string;
    /**
     * Reflects the required attribute of the `input` element.
     */
    required: boolean;
    /**
     * Sets the value attribute on the `input` element.
     */
    value: string;
    /**
     * Sets the placeholder on the `input` element.
     */
    placeholder: string;
    /**
     * Sets the text inside the `label` tag.
     */
    label: string | TemplateRef<any>;
    /**
     * Sets the optional helper text.
     */
    helperText: string | TemplateRef<any>;
    /**
     * Sets the invalid text.
     */
    invalidText: string | TemplateRef<any>;
    /**
     * Emits event notifying other classes when a change in state occurs in the input.
     */
    change: EventEmitter<any>;
    origin: ElementRef;
    dialog: TemplateRef<any>;
    /**
     * Creates an instance of `ColorInput`.
     */
    constructor(_overlay: Overlay, _viewContainerRef: ViewContainerRef);
    /**
     * This is the initial value set to the component
     * @param value The input value.
     */
    writeValue(value: any): void;
    /**
     * Sets a method in order to propagate changes back to the form.
     */
    registerOnChange(fn: any): void;
    /**
     * Registers a callback to be triggered when the control has been touched.
     * @param fn Callback to be triggered when the number input is touched.
     */
    registerOnTouched(fn: any): void;
    /**
     * Sets the disabled state through the model
     */
    setDisabledState(isDisabled: boolean): void;
    /**
     * Called when number input is blurred. Needed to properly implement `ControlValueAccessor`.
     */
    onTouched: () => any;
    /**
     * Method set in `registerOnChange` to propagate changes back to the form.
     */
    propagateChange: (_: any) => void;
    /**
     * Creates a class of `NumberChange` to emit the change in the `Number`.
     */
    emitChangeEvent(): void;
    onColorChange(value: any): void;
    onColorInputChange(event: any): void;
    /**
     * Opens the color picker dialog
     */
    openColorDialog(): void;
    /**
     * Closes the color picker dialog
     */
    closeColorDialog(): void;
    /**
     * Checks if it is a template
     */
    isTemplate(value: any): boolean;
}
