/// import { Filter, FilterType } from '../filter'; import { TrafikverketAPI } from '../trafikverketAPI'; import { EventEmitter } from 'events'; import { URL } from 'url'; import { EventSourceListner } from '../models/eventSourceListner'; import { RawResult } from '../models/response'; export declare abstract class Query extends EventEmitter { protected queryLimit: number; protected querySkip: number; protected queryChangeId: string; protected queryFilters: Filter[]; protected serverSideEvents: boolean; protected serverSideListner: EventSourceListner; static getSSEUrlFromResult(result?: RawResult): URL | null; static getChangeIdFromResult(result?: RawResult): string | null; constructor(serverSideEvents?: boolean); protected getQueryArguments(): string; limit(limit: number): this; skip(skip: number): this; changeId(changeId: string): this; filter(filter: Filter): this; protected stringifyFilters(): string; protected handleSSE(result: RawResult, messageHandler: (data: any) => void): void; protected handleChangeID(result: RawResult): void; abstract toString(): string; abstract request(trafikverketAPI: TrafikverketAPI): void; }