import type { IRouterSlot } from '../router-slot/index.js';
import type { UmbRoute } from './route.interface.js';
import { type PropertyValueMap } from '../../../../external/lit/index.js';
import { UmbLitElement } from '../../lit-element/index.js';
/**
 *  @element umb-router-slot
 *  @description - Component for wrapping Router Slot element, providing some local events for implementation.
 *  @augments UmbLitElement
 * @fires {UmbRouterSlotInitEvent} init - fires when the router is connected
 * @fires {UmbRouterSlotChangeEvent} change - fires when a path of this router is changed
 */
export declare class UmbRouterSlotElement extends UmbLitElement {
    #private;
    inheritAddendum?: boolean;
    get routes(): UmbRoute[] | undefined;
    set routes(value: UmbRoute[] | undefined);
    get parent(): IRouterSlot | null | undefined;
    set parent(parent: IRouterSlot | null | undefined);
    private _routerPath?;
    get absoluteRouterPath(): string | undefined;
    private _activeLocalPath?;
    get localActiveViewPath(): string | undefined;
    get absoluteActiveViewPath(): string;
    protected _updateRouterPath: () => void;
    constructor();
    protected _constructAbsoluteRouterPath(): string;
    protected _constructLocalRouterPath(): string;
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    private _onNavigationChanged;
    render(): import("lit-html").TemplateResult<1>;
    static styles: import("lit").CSSResult[];
}
declare global {
    interface HTMLElementTagNameMap {
        'umb-router-slot': UmbRouterSlotElement;
    }
}
