import { ControllerBase, type ControllerHost } from '../Controls/Controllers/Abstracts/ControllerBase';
import type { Constructor } from '../Types/Constructor';
import type { IViewPresenter } from './IViewPresenter';
/**
 * The config options for a ViewPresenterController.
 *
 * @public
 */
export interface IViewPresenterControllerConfig<TPresenter extends IViewPresenter> {
    presenter: Constructor<TPresenter>;
}
/**
 * @public
 */
export declare class ViewPresenterController<TPresenter extends IViewPresenter> extends ControllerBase {
    private readonly _presenter;
    constructor(host: ControllerHost, presenter: TPresenter);
    get presenter(): TPresenter;
    /**
     * @public
     * @override
     */
    hostConnected(): void;
    /**
     * @public
     * @override
     */
    hostDisconnected(): void;
}
//# sourceMappingURL=ViewPresenterController.d.ts.map