import { Signal } from '../Index';
import type { IViewPresenter } from './IViewPresenter';
/**
 * A abstract view presenter.
 *
 * @public
 * @abstract
 */
export declare abstract class ViewPresenter implements IViewPresenter {
    private readonly _initialized;
    private readonly _disposed;
    private readonly _isLoading;
    private _activeOperations;
    /**
    * Constructs a new instance of the `ViewPresenter` class.
    *
    * @protected
    */
    protected constructor();
    /**
     * Returns the `disposed` property.
     *
     * @public
     * @readonly
     */
    get disposed(): Signal<boolean>;
    /**
     * Returns the `initialized` property.
     *
     * @public
     */
    get initialized(): Signal<boolean>;
    /**
     * Returns the `isLoading` property.
     *
     * @public
     * @readonly
     */
    get isLoading(): Signal<boolean>;
    /**
    * Called before the view first displays the data-bound properties and sets the view's input properties.
    *
    * @public
    * @virtual
    */
    initialize(): void;
    /**
    * Called before the view will be destroyed.
    * Unsubscribe Observables and detach event handlers to avoid memory leaks.
    *
    * @public
    * @virtual
    */
    dispose(): void;
    /**
     * @protected
     */
    protected loading(value: boolean): void;
}
//# sourceMappingURL=ViewPresenter.d.ts.map