import { Map } from "maplibre-gl"; /** * Configuration options for feature transitions. * @interface TransitionOptions * @property {number} [duration=1000] - Duration of the transition in milliseconds * @property {string} [ease="linear"] - Easing function to use for the transition * @property {number} [delay=0] - Delay before starting the transition in milliseconds * @property {Record} [paint] - Paint properties to transition, mapping property names to [start, end] values * @property {() => void} [onComplete] - Callback function to execute when transition completes * @property {() => void} [onStart] - Callback function to execute when transition starts */ interface TransitionOptions { duration?: number; ease?: "linear" | "quad" | "cubic" | "elastic" | "bounce" | "circle" | "exp" | "poly" | "sin"; delay?: number; paint?: Record; onComplete?: () => void; onStart?: () => void; } declare module "maplibre-gl" { interface Map { T: { (feature: any, options?: TransitionOptions): void; transitions: Set; listLayerTransitions: (layerId: string) => any[]; reverseScale: (scale: any, currentTime: number, easeFn: any) => any; }; } } /** * Initializes the transition plugin on a MapLibre map instance. * This function adds the transition functionality to the map object and sets up * the necessary methods and properties. * * @param {Map} map - The MapLibre map instance to initialize */ export declare function init(map: Map): void; /** * Default export object that can be used as a plugin. * This allows the library to be used as a MapLibre GL plugin. */ declare const _default: { init: typeof init; }; export default _default;