import * as polytype from 'polytype';
import * as i0 from '@angular/core';
import { OnDestroy, ElementRef } from '@angular/core';
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
import * as i1 from '@acorex/components/button';
import * as i2 from '@acorex/components/decorators';
import * as i3 from '@acorex/components/select-box';
import * as i4 from '@angular/forms';
import * as i5 from '@acorex/components/color-palette';
import * as i6 from '@acorex/components/popover';
import * as i7 from '@acorex/components/text-box';

declare const AXWysiwygContainerComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXInputBaseValueComponent<string>;
    ɵfac: i0.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
    ɵprov: i0.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
}, typeof MXLookComponent]>;
/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_base implements OnDestroy {
    #private;
    /**
     * Specifies the placeholder text.
     *
     */
    placeHolder: i0.InputSignal<string>;
    private wysiwygService;
    protected isQuillLoaded: i0.WritableSignal<boolean>;
    private isEditorClean;
    private wysiwyg;
    private container;
    private toolbar;
    private platformId;
    private changeHandlerTimer;
    protected changeHandler(): void;
    /** @ignore */
    ngOnDestroy(): void;
    /**
     * Focuses the component.
     *
     * @returns void - No return value. The component gains focus.
     */
    focus(): void;
    /**
     * Removes focus from the component.
     *
     * @returns void - No return value. The component loses focus.
     */
    blur(): void;
    /**
     * Checks if the component is focused or has any focused element.
     *
     * @returns boolean - True if the component has focus.
     */
    hasFocus(): boolean;
    /**
     * Sets the disabled state of the component.
     *
     * @param isDisabled - Whether the component should be disabled.
     * @returns void - No return value.
     */
    setWysiwygContent(value: string): void;
    private get __hostName();
    get __hostClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygContainerComponent, "ax-wysiwyg-container", never, { "look": { "alias": "look"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, ["container", "toolbar"], ["*", "ax-validation-rule"], true, never>;
}

/**
 * @category Components
 * A component for viewing WYSIWYG content.
 */
declare class AXWysiwygToolbarComponent {
    toolbar: i0.Signal<ElementRef<HTMLDivElement>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygToolbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygToolbarComponent, "ax-wysiwyg-toolbar", never, {}, {}, never, ["ax-prefix", "ax-suffix"], true, never>;
}

/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygAlignmentComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygAlignmentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygAlignmentComponent, "ax-wysiwyg-alignment", never, {}, {}, never, never, true, never>;
}

declare class WysiwygService {
    selectedColor: i0.WritableSignal<string>;
    selectedBackgroundColor: i0.WritableSignal<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<WysiwygService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<WysiwygService>;
}

/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygColorsComponent {
    protected wysiwygService: WysiwygService;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygColorsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygColorsComponent, "ax-wysiwyg-colors", never, {}, {}, never, never, true, never>;
}

/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygFontStyleComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygFontStyleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygFontStyleComponent, "ax-wysiwyg-font-style", never, {}, {}, never, never, true, never>;
}

/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygHistoryComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygHistoryComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygHistoryComponent, "ax-wysiwyg-history", never, {}, {}, never, never, true, never>;
}

/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygInsertComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygInsertComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygInsertComponent, "ax-wysiwyg-insert", never, {}, {}, never, never, true, never>;
}

/**
 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.
 * @category Components
 */
declare class AXWysiwygListComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygListComponent, "ax-wysiwyg-list", never, {}, {}, never, never, true, never>;
}

/**
 * @category Components
 * A component for viewing WYSIWYG content.
 */
declare class AXWysiwygViewComponent {
    editor: i0.Signal<ElementRef<HTMLDivElement>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygViewComponent, "ax-wysiwyg-view", never, {}, {}, never, never, true, never>;
}

declare class AXWysiwygModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXWysiwygModule, never, [typeof i1.AXButtonModule, typeof i2.AXDecoratorModule, typeof i3.AXSelectBoxModule, typeof i4.FormsModule, typeof i5.AXColorPaletteModule, typeof i6.AXPopoverModule, typeof i7.AXTextBoxModule, typeof AXWysiwygContainerComponent, typeof AXWysiwygViewComponent, typeof AXWysiwygAlignmentComponent, typeof AXWysiwygColorsComponent, typeof AXWysiwygFontStyleComponent, typeof AXWysiwygHistoryComponent, typeof AXWysiwygInsertComponent, typeof AXWysiwygListComponent, typeof AXWysiwygToolbarComponent], [typeof AXWysiwygContainerComponent, typeof AXWysiwygViewComponent, typeof AXWysiwygAlignmentComponent, typeof AXWysiwygColorsComponent, typeof AXWysiwygFontStyleComponent, typeof AXWysiwygHistoryComponent, typeof AXWysiwygInsertComponent, typeof AXWysiwygListComponent, typeof AXWysiwygToolbarComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXWysiwygModule>;
}

export { AXWysiwygAlignmentComponent, AXWysiwygColorsComponent, AXWysiwygContainerComponent, AXWysiwygFontStyleComponent, AXWysiwygHistoryComponent, AXWysiwygInsertComponent, AXWysiwygListComponent, AXWysiwygModule, AXWysiwygToolbarComponent, AXWysiwygViewComponent };
