import { UmbShortcutController } from '../../shortcut/context/shortcut.controller.js';
import { UmbControllerBase } from '../../../../libs/class-api/index.js';
import { UmbHintController } from '../../hint/index.js';
import type { UmbClassInterface } from '../../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbVariantHint } from '../../hint/index.js';
import type { UmbVariantId } from '../../variant/index.js';
/**
 *
 * The View Context handles the aspects of three Features:
 * Browser Titles — Provide a title for this view and it will be set or joint with parent views depending on the inheritance setting.
 * Hints — Holds Hints for this view, depending on the inheritance setting it will propagate the hints to be displayed at parent views.
 * Shortcuts — Not implemented yet.
 *
 */
export declare class UmbViewController extends UmbControllerBase {
    #private;
    get isActive(): boolean;
    readonly computedTitle: import("rxjs").Observable<string | undefined>;
    readonly viewAlias: string | null;
    protected readonly variantId: import("rxjs").Observable<UmbVariantId | undefined>;
    readonly hints: UmbHintController<UmbVariantHint, import("../../utils/index.js").UmbPartialSome<UmbVariantHint, "weight" | "path" | "unique">>;
    readonly shortcuts: UmbShortcutController;
    readonly firstHintOfVariant: import("rxjs").Observable<UmbVariantHint | undefined>;
    constructor(host: UmbControllerHost, viewAlias: string | null);
    setVariantId(variantId: UmbVariantId | undefined): void;
    setTitle(title: string | undefined): void;
    provideAt(controllerHost: UmbClassInterface): void;
    unprovide(): void;
    hostConnected(): void;
    hostDisconnected(): void;
    isInheriting(): boolean;
    inherit(): void;
    inheritFrom(context?: UmbViewController): void;
    /**
     * @internal
     * Notify that a view context has been activated.
     */
    _internal_requestActivate(): boolean;
    /**
     * @internal
     * Notify that a view context has been activated.
     */
    _internal_activate(): void;
    /**
     * @internal
     * Deactivate the view context.
     * We cannot conclude that this means the parent should be activated, it can be because of a child being activated.
     */
    _internal_deactivate(): void;
    getComputedTitle(): string | undefined;
    _internal_addChild(child: UmbViewController): void;
    _internal_removeChild(child: UmbViewController): void;
    destroy(): void;
}
