import { MXBaseComponent, AXComponentCloseEvent, AXComponentClosing } from '@acorex/cdk/common';
import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
import * as i0 from '@angular/core';
import { OnDestroy, EventEmitter } from '@angular/core';

declare class AXBasePageComponent extends MXBaseComponent implements OnDestroy {
    private _loadingId;
    private _loadingService;
    setTitle: (title: string) => void;
    footer: AXDecoratorGenericComponent;
    isLoadingChange: EventEmitter<boolean>;
    private _isLoading;
    get isLoading(): boolean;
    set isLoading(v: boolean);
    private _isPopup;
    get isPopup(): boolean;
    onClosed: EventEmitter<AXComponentCloseEvent>;
    close(data?: unknown): void;
    onClosing(e: AXComponentClosing): void | Promise<void>;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXBasePageComponent, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AXBasePageComponent>;
}

declare abstract class AXPageComponent extends MXBaseComponent {
    private _loadingService;
    /** @ignore */
    constructor(_loadingService: any);
    /** @ignore */
    private _loadingId;
    /**
     * @event
     * Emits an event when the loading state changes.
     */
    isLoadingChange: EventEmitter<boolean>;
    /** @ignore */
    private _isLoading;
    /**
     * Controls the loading state and visibility of the loading indicator.
     * @param {boolean} v
     */
    get isLoading(): boolean;
    /**
     * Sets the loading state, showing or hiding the loading indicator based on the value.
     * @param {boolean} v
     */
    set isLoading(v: boolean);
    static ɵfac: i0.ɵɵFactoryDeclaration<AXPageComponent, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AXPageComponent>;
}

declare class AXPageModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXPageModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXPageModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXPageModule>;
}

export { AXBasePageComponent, AXPageComponent, AXPageModule };
