import { EventsManager, GetEventsHeadersInput, GetEventsQueryParams } from '../managers/events.generated';
import { RealtimeServer } from '../schemas/realtimeServer.generated';
import { ByteStream } from '../internal/utilsNode';
/**
 * EventStream is a readable stream that fetches events from the Box API.
 * It uses long polling to receive real-time updates.
 * This class is designed to be used with Node.js streams.
 *
 * @param {EventsManager} options.eventsManager - The EventsManager instance which provides relevant methods to fetch events.
 * @param {GetEventsQueryParams} options.queryParams - The query parameters to use for fetching events.
 * @param {GetEventsHeadersInput} options.headersInput - The headers to include in the request.
 */
export declare class EventStream extends ByteStream {
    _eventsManager: EventsManager;
    _queryParams: GetEventsQueryParams;
    _headersInput: GetEventsHeadersInput;
    _streamPosition: string;
    _longPollingInfo: RealtimeServer | undefined;
    _longPollingRetries: number;
    _started: boolean;
    _abortController: AbortController | undefined;
    _deduplicationFilterSize: number;
    _dedupHash: Map<string, boolean>;
    constructor(options: {
        eventsManager: EventsManager;
        queryParams: GetEventsQueryParams;
        headersInput: GetEventsHeadersInput;
    });
    _read(size: number): void;
    _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
    getLongPollInfo(): Promise<void>;
    doLongPoll(): Promise<void>;
    fetchEvents(): Promise<void>;
}
