/**
 * Discord Gateway (WebSocket) ingestor.
 *
 * Connects to the Discord Gateway v10 and streams real-time events
 * (messages, reactions, presence updates, etc.) into the ring buffer.
 *
 * Implements the full Gateway lifecycle:
 *   Hello → Identify → Ready → Dispatch loop
 *   Heartbeat with jitter, ACK tracking, zombie detection
 *   Resume support (session_id + sequence)
 *   Exponential backoff reconnection
 *
 * Uses the native WebSocket API (Node 22+).
 *
 * @see https://discord.com/developers/docs/events/gateway
 */
import { BaseIngestor } from '../base-ingestor.js';
import type { WebSocketIngestorConfig } from '../types.js';
export declare class DiscordGatewayIngestor extends BaseIngestor {
    private readonly wsConfig;
    private ws;
    private heartbeatTimer;
    private heartbeatJitterTimer;
    private heartbeatAcked;
    /** Discord sequence number — tracks the last dispatch event received. */
    private sequenceNumber;
    /** Discord session ID — needed for RESUME. */
    private discordSessionId;
    /** Resume Gateway URL — provided in READY, used for reconnection. */
    private resumeGatewayUrl;
    private reconnectAttempts;
    private readonly maxReconnectAttempts;
    private reconnectTimer;
    private readonly gatewayUrl;
    private readonly intents;
    private readonly eventFilter;
    private readonly guildIds;
    private readonly channelIds;
    private readonly userIds;
    constructor(connectionAlias: string, secrets: Record<string, string>, wsConfig: WebSocketIngestorConfig, bufferSize?: number, instanceId?: string);
    start(): Promise<void>;
    stop(_permanent?: boolean): Promise<void>;
    private connect;
    private handlePayload;
    private handleHello;
    private sendIdentify;
    private sendResume;
    private handleDispatch;
    private handleInvalidSession;
    private startHeartbeat;
    private sendHeartbeat;
    private handleClose;
    private initiateReconnect;
    private scheduleReconnect;
    private send;
    private clearAllTimers;
}
//# sourceMappingURL=discord-gateway.d.ts.map