import { EventManager } from '@/utils/builder';
import { RanElement } from '@/utils/index';
import { type RouterCore } from '@/utils/router';
export declare class Router extends RanElement {
    static get observedAttributes(): string[];
    _events: EventManager;
    _shadowDom: ShadowRoot;
    _slot: HTMLSlotElement;
    _currentPath: string;
    /** Bound RouterCore (when createRouter() was used) — navigation delegates to it. */
    _core: RouterCore | null;
    constructor();
    get mode(): 'history' | 'hash';
    get base(): string;
    get sheet(): string;
    set sheet(v: string);
    handlerExternalCss: () => void;
    _getPath(): string;
    navigate(path: string, replace?: boolean): void;
    _syncRoutes(): void;
    _handlePopState: () => void;
    _handleNavigate: (e: Event) => void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, old: string, next: string): void;
}
export default Router;
