import type { WebSocketAPIMessageCallback } from '../../api/WebSocketAPI';
import type { RealtimeDeparture, RealtimeDepartureExtended } from '../../types';
/**
 * This function returns a WebSocket api callback, and call the onDeparturesUpdate function with the list of current departures to display.
 * @param {function(departures: RealtimeDeparture[])} onDeparturesUpdate callback when list of departures changes, called after 100 ms
 * @param {boolean} [sortByMinArrivalTime = true] Sort departures by arrival time
 * @param {number} [maxDepartureAge = 30] max departure age of departures in minutes
 * @param {number} [timeout = 100] debounce timeout in ms
 * @private
 */
declare const debounceDeparturesMessages: (onDeparturesUpdate: (departures: RealtimeDepartureExtended[]) => unknown, sortByMinArrivalTime?: boolean, maxDepartureAge?: number, timeout?: number) => WebSocketAPIMessageCallback<RealtimeDeparture>;
export default debounceDeparturesMessages;
