import * as plugins from '../../plugins.js'; import type { OpsServer } from '../classes.opsserver.js'; import * as interfaces from '../../../dist_ts_interfaces/index.js'; export declare const getOpsRealtimeUserTag: (userIdArg: string) => string; export declare class OpsRealtimeRevisionClock { readonly serverEpoch: string; private revisions; constructor(serverEpochArg?: string); getRevisions(): interfaces.requests.IOpsRealtimeRevisionMap; invalidate(resourceArg: interfaces.requests.TOpsRealtimeResource, optionsArg?: { changedIds?: string[]; reason?: string; timestamp?: number; }): interfaces.requests.IOpsRealtimeInvalidation; getCatchup(knownServerEpochArg?: string, knownRevisionsArg?: Partial): interfaces.requests.IOpsRealtimeInvalidation[]; } interface IRealtimeInvalidationOptions { changedIds?: string[]; reason?: string; } export declare class RealtimeHandler { private opsServerRef; typedrouter: plugins.typedrequest.TypedRouter; readonly revisionClock: OpsRealtimeRevisionClock; private subscribedUserIds; private pendingInvalidations; private pushScheduled; private stopped; constructor(opsServerRef: OpsServer); invalidate(resourcesArg: interfaces.requests.TOpsRealtimeResource | interfaces.requests.TOpsRealtimeResource[], optionsArg?: IRealtimeInvalidationOptions): void; getAuthenticatedConnections(): Promise; cleanup(): void; private registerHandlers; private schedulePush; private flushPushes; } export {};