import type { ReactiveController, ReactiveControllerHost } from 'lit'; import type { ViewportPanProposal, ViewportZoomProposal, ViewportZoomRequestOptions, ViewportTransform } from './viewport.types.js'; import type { ViewportZoomAction } from './viewport-navigation.types.js'; type ViewportNavigationHost = HTMLElement & ReactiveControllerHost & { readonly pannable: boolean; readonly zoomable: boolean; requestPan(proposal: ViewportPanProposal): boolean; requestZoom(proposal: ViewportZoomProposal, options?: ViewportZoomRequestOptions): boolean; }; interface ViewportNavigationDelegate { readonly getTransform: () => ViewportTransform; readonly getZoomTarget: (action: ViewportZoomAction) => ViewportTransform | undefined; } export declare class ViewportNavigationController implements ReactiveController { #private; constructor(host: ViewportNavigationHost, delegate: ViewportNavigationDelegate); hostConnected(): void; hostDisconnected(): void; hostUpdated(): void; } export {};