import * as i0 from '@angular/core';
import { OnInit, EventEmitter } from '@angular/core';
import { MXBaseComponent, AXHtmlEvent } from '@acorex/cdk/common';
import * as i1 from '@angular/common';

/**
 * Displays an image with customizable settings.
 *
 * @category Components
 */
declare class AXImageComponent extends MXBaseComponent implements OnInit {
    readonly width: i0.InputSignal<number>;
    readonly height: i0.InputSignal<number>;
    /**
     * Specifies when the image overlay should be shown.
     *
     * @defaultValue 'hover'
     */
    overlayMode: 'always' | 'hover';
    /**
     * The URL of the image to be displayed.
     *
     * @defaultValue null
     */
    src?: string | null;
    /**
     * The alternative text for the image, for accessibility purposes.
     *
     * @defaultValue null
     */
    alt?: string | null;
    /**
     * Priority for image loading.
     *
     * @defaultValue 'auto'
     */
    priority: 'low' | 'auto' | 'high';
    /**
     * Indicates if the image should be loaded lazily.
     *
     * @defaultValue false
     */
    lazy: boolean;
    /**
     * Emits an event when the image has successfully loaded.
     *
     * @event
     */
    onLoad: EventEmitter<AXHtmlEvent>;
    /**
     * Emits an event when there is an error loading the image.
     *
     * @event
     */
    onError: EventEmitter<AXHtmlEvent<ErrorEvent>>;
    /**
     *  @ignore
     */
    protected _hasError: boolean;
    /**
     *  @ignore
     */
    protected _isLoaded: boolean;
    /**
     *  @ignore
     */
    protected _isLoading: boolean;
    /**
     *  @ignore
     */
    ngOnInit(): void;
    /**
     *  @ignore
     */
    protected _handleLoadImage(e: Event): void;
    /**
     *  @ignore
     */
    protected _handleErrorImage(e: ErrorEvent): void;
    /**
     *  @ignore
     */
    get __hostClass(): string[];
    private get __hostStyle();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXImageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXImageComponent, "ax-image", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "overlayMode": { "alias": "overlayMode"; "required": false; }; "src": { "alias": "src"; "required": false; }; "alt": { "alias": "alt"; "required": false; }; "priority": { "alias": "priority"; "required": false; }; "lazy": { "alias": "lazy"; "required": false; }; }, { "onLoad": "onLoad"; "onError": "onError"; }, never, ["ax-overlay", "ax-placeholder, ng-content", "ax-loading, ax-loading-spinner"], true, never>;
}

declare class AXImageModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXImageModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXImageModule, never, [typeof i1.CommonModule, typeof AXImageComponent], [typeof AXImageComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXImageModule>;
}

export { AXImageComponent, AXImageModule };
