import { AnchorLinkRoute, TokenBasedRouteStateData, IMessageBusSubscriptionHandler } from "../models"; import { StateData } from "../ux/InternalRouter"; import { TokenBasedRouter } from "./TokenBasedRouter"; import { VueComponentBase } from "./VueComponentBase"; interface AnchorLinkConfiguration { validate(anchorName: string): boolean; trigger?(options: AnchorLinkTriggerOptions): void; cancel?(): void; } interface AnchorLinkTriggerOptions { scrollIntoView(): boolean; } declare class InternalAnchorLinkRouter extends TokenBasedRouter { static readonly token = "anchor"; private readonly topic; private triggered; private silent; private observerExecutors; constructor(); protected buildContextPath(routeContext: AnchorLinkRoute): string; protected resolveRouteFromPath(path: string): AnchorLinkRoute; subscribe: (config: AnchorLinkConfiguration) => IMessageBusSubscriptionHandler; silentNavigate: (anchorName: string) => void; clearRoute: () => void; getTokenValue: (stateData: StateData) => TokenBasedRouteStateData; private useConfiguration; private scrollToElement; private onMutationObserved; } export declare class AnchorLink { static readonly disabledWrapperClass = "AnchorLink_Disabled_Wrapper"; router: InternalAnchorLinkRouter; private disabled; constructor(); initInheritedState(currentComponent: VueComponentBase): void; get tokenExistsOnUrl(): boolean; get enabled(): boolean; disable(): void; clear(): void; subscribe(config: AnchorLinkConfiguration): IMessageBusSubscriptionHandler; silentNavigate(anchorName: string): void; getTokenValue(stateData: StateData): TokenBasedRouteStateData; static combine(path: string, anchorName: string): string | null; static split(path: string): string[]; static transformToDefaultFormat(value: string): string; private static removeTrailingSlash; } export {};