import * as React from 'react';
import { ColorEditor } from "./ColorEditor";
import { ControlDisplayDensity } from "igniteui-react-core";
import { BaseControlTheme } from "igniteui-react-core";
import { IgrColorEditorPanelSelectedValueChangedEventArgs } from "./igr-color-editor-panel-selected-value-changed-event-args";
import { IgrColorEditorLostFocusEventArgs } from "./igr-color-editor-lost-focus-event-args";
import { IgrColorEditorGotFocusEventArgs } from "./igr-color-editor-got-focus-event-args";
export declare class IgrColorEditor extends React.Component<IIgrColorEditorProps> {
    private _container;
    private _initialized;
    private _elRef;
    private _portalManager;
    private _wrapper;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
        children: any[];
    }, any>;
    private requestRender;
    constructor(props: IIgrColorEditorProps);
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    destroy(): void;
    componentWillUnmount(): void;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): ColorEditor;
    protected _implementation: any;
    protected mounted: boolean;
    get nativeElement(): HTMLElement;
    /**
     * @hidden
     */
    get i(): ColorEditor; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgrColorEditor;
    private _colorEditor;
    /**
 * Gets or Sets color value of the editor.
*/
    get value(): string;
    set value(v: string);
    /**
     * Gets or Sets the property name that contains the label.
    */
    get label(): string;
    set label(v: string);
    /**
     * Gets or sets the color to use for the text.
    */
    get labelTextColor(): string;
    set labelTextColor(v: string);
    /**
     * Gets or sets the font to use for the input.
    */
    get labelTextStyle(): string;
    set labelTextStyle(v: string);
    /**
     * Gets or sets the display density to use for the date pcicker.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    /**
     * Gets or sets the base built in theme to use for the date picker.
    */
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    /**
     * Gets or sets the font to use for the combobox.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or Sets the text color
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or Sets the text color
    */
    get iconColor(): string;
    set iconColor(v: string);
    /**
     * Gets or sets the ShowClearButton property to detirmine if the clear button is shown
    */
    get showClearButton(): boolean;
    set showClearButton(v: boolean);
    /**
     * Gets or sets the AllowTextInput property to detirmine if entering text into the input is allowed
    */
    get allowTextInput(): boolean;
    set allowTextInput(v: boolean);
    /**
     * Gets or sets the AllowTextInput property to detirmine if entering text into the input is allowed
    */
    get openOnFocus(): boolean;
    set openOnFocus(v: boolean);
    get isDisabled(): boolean;
    set isDisabled(v: boolean);
    /**
     * Indicates that the editor dropdown will position itself relative to the window instead of the document.
    */
    get isFixed(): boolean;
    set isFixed(v: boolean);
    /**
     * Indicates that the dropdown should open as a child of the color editor.
    */
    get openAsChild(): boolean;
    set openAsChild(v: boolean);
    /**
     * Indicates that the dropdown will place itself into the browser top layer.
    */
    get useTopLayer(): boolean;
    set useTopLayer(v: boolean);
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    select(): void;
    /**
     * Exports visual information about the current state of the color editor.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    private _valueChanged;
    private _valueChanged_wrapped;
    /**
     * Called when color is selected.
    */
    get valueChanged(): (s: IgrColorEditor, e: IgrColorEditorPanelSelectedValueChangedEventArgs) => void;
    set valueChanged(ev: (s: IgrColorEditor, e: IgrColorEditorPanelSelectedValueChangedEventArgs) => void);
    private _valueChanging;
    private _valueChanging_wrapped;
    /**
     * Called when color is selected.
    */
    get valueChanging(): (s: IgrColorEditor, e: IgrColorEditorPanelSelectedValueChangedEventArgs) => void;
    set valueChanging(ev: (s: IgrColorEditor, e: IgrColorEditorPanelSelectedValueChangedEventArgs) => void);
    private _gotFocus;
    private _gotFocus_wrapped;
    get gotFocus(): (s: IgrColorEditor, e: IgrColorEditorGotFocusEventArgs) => void;
    set gotFocus(ev: (s: IgrColorEditor, e: IgrColorEditorGotFocusEventArgs) => void);
    private _lostFocus;
    private _lostFocus_wrapped;
    get lostFocus(): (s: IgrColorEditor, e: IgrColorEditorLostFocusEventArgs) => void;
    set lostFocus(ev: (s: IgrColorEditor, e: IgrColorEditorLostFocusEventArgs) => void);
}
export interface IIgrColorEditorProps {
    children?: React.ReactNode;
    /**
 * Gets or Sets color value of the editor.
*/
    value?: string;
    /**
     * Gets or Sets the property name that contains the label.
    */
    label?: string;
    /**
     * Gets or sets the color to use for the text.
    */
    labelTextColor?: string;
    /**
     * Gets or sets the font to use for the input.
    */
    labelTextStyle?: string;
    /**
     * Gets or sets the display density to use for the date pcicker.
    */
    density?: ControlDisplayDensity | string;
    /**
     * Gets or sets the base built in theme to use for the date picker.
    */
    baseTheme?: BaseControlTheme | string;
    /**
     * Gets or sets the font to use for the combobox.
    */
    textStyle?: string;
    /**
     * Gets or Sets the text color
    */
    textColor?: string;
    /**
     * Gets or Sets the text color
    */
    iconColor?: string;
    /**
     * Gets or sets the ShowClearButton property to detirmine if the clear button is shown
    */
    showClearButton?: boolean | string;
    /**
     * Gets or sets the AllowTextInput property to detirmine if entering text into the input is allowed
    */
    allowTextInput?: boolean | string;
    /**
     * Gets or sets the AllowTextInput property to detirmine if entering text into the input is allowed
    */
    openOnFocus?: boolean | string;
    isDisabled?: boolean | string;
    /**
     * Indicates that the editor dropdown will position itself relative to the window instead of the document.
    */
    isFixed?: boolean | string;
    /**
     * Indicates that the dropdown should open as a child of the color editor.
    */
    openAsChild?: boolean | string;
    /**
     * Indicates that the dropdown will place itself into the browser top layer.
    */
    useTopLayer?: boolean | string;
    /**
 * Called when color is selected.
*/
    valueChanged?: (s: IgrColorEditor, e: IgrColorEditorPanelSelectedValueChangedEventArgs) => void;
    /**
     * Called when color is selected.
    */
    valueChanging?: (s: IgrColorEditor, e: IgrColorEditorPanelSelectedValueChangedEventArgs) => void;
    gotFocus?: (s: IgrColorEditor, e: IgrColorEditorGotFocusEventArgs) => void;
    lostFocus?: (s: IgrColorEditor, e: IgrColorEditorLostFocusEventArgs) => void;
}
