import { LitElement } from "lit";
import type { TemplateResult } from "lit";
import { StateDeclaration, ViewContext, StateObject } from "@uirouter/core";
import { UIRouterLit } from "./core.js";
/** @internal */
export interface UiViewAddress {
context: ViewContext | StateObject;
fqn: string;
}
/**
* @hideconstructor
* @fires {CustomEvent} ui-router-context
*
* This event is fired to obtain the uiRouter instance,
* when not directly provided.
* Once obtained, the <ui-view> listens and
* provides the uiRouter to descendants.
*
* @fires {CustomEvent} ui-view-context
*
* This event is fired to obtain the parent <ui-view>.
*
* @summary
*
* This is the <ui-view> component.
*
* The <ui-view> component is a viewport for routed components.
* Routed components will be rendered inside the <ui-view> viewport.
*
*/
export declare class UiView extends LitElement {
name: string;
/**
* <ui-view> can be used without <ui-router>
* by providing the uiRouter property directly.
*/
uiRouter: UIRouterLit;
private viewAddress;
private component;
private readonly inner;
/** @internal */
createRenderRoot(): this;
private readonly viewId;
private _uiViewData;
private resolveContext;
private _viewConfigUpdated;
private _applyUpdatedConfig;
private parentView;
private readonly onUiViewContextEvent;
/** @internal */
connectedCallback(): void;
private static readonly uiViewContextEventName;
private static uiViewContextEvent;
/** @internal */
static seekParentView(candidate: Element): UiView | null;
private seekParentView;
private readonly onUiRouterContextEvent;
private seekRouter;
private captureContent;
private readonly disconnectedHandlers;
private setupUiView;
/** @internal */
disconnectedCallback(): void;
/**
* For each transition, checks the component loaded in the ui-view for:
*
* - has a uiCanExit() component hook
* - is being exited
*
* If both are true, adds the uiCanExit component function as a hook to that singular Transition.
*/
private _invokeUiCanExitHook;
/** @internal */
requestUpdate(...args: Parameters): void;
/**
* For each transition, checks if any param values changed and notify component
*/
private _invokeUiOnParamsChangedHook;
/** @internal */
get viewContext(): ViewContext | undefined;
/** @internal */
get state(): StateDeclaration;
/** @internal */
render(): Node | TemplateResult;
}
export interface UiView {
/** @internal */
constructor: typeof UiView;
}
//# sourceMappingURL=ui-view.d.ts.map