import type { RuntimeCore } from "./runtime-core"; import type { LayerIR } from "./ir"; export type ActionHandler = (payload: Record, mapEl: Element, core: RuntimeCore, layerIRs: ReadonlyMap) => void; /** Is an action name registered? (Story/behavior validation — custom actions may register later, so absence is a warning, not an error.) */ export declare function hasAction(name: string): boolean; export declare function registerAction(name: string, handler: ActionHandler): void; export declare function dispatchAction(name: string, payload: Record, mapEl: Element, core: RuntimeCore, layerIRs?: ReadonlyMap): void; /** Ids in this namespace are runtime-managed plumbing — excluded from ctx.layers (legend, layer-list, user widgets). Defined in internal-ids.ts (dependency-free); re-exported here as the historical home. */ export { RUNTIME_INTERNAL_PREFIX } from "./internal-ids"; /** The overlay anchor for a feature: its bbox center for geojson geometry, else its point (flat lon/lat). */ export declare function featureAnchorPoint(feature: unknown): [number, number] | undefined; /** * `trace` — progressive draw. Real tracing needs per-vertex time, which is * TripsLayer's whole purpose: sweep `currentTime` across the data's * timestamp range through the per-frame channel. Other layer types fall * back to `fade` with a warning (deck.gl has no dash-offset to fake a * draw-on with — documented in the spec). */ export declare const TRACE_TEMP_PREFIX = "__onlymapjs-trace-"; /** Story scrub restore — drop all trace hide bookkeeping for this core (the channel props themselves are cleared separately by cancelAllLayerEffects). */ export declare function resetTraceHides(core: RuntimeCore): void;