import * as plugins from '../plugins.js'; import type { IIdentity } from '../data/auth.js'; export declare const opsRealtimeResources: readonly ["emailDomains", "emailQueue", "smtpAttempts", "dns", "routes", "edges", "certificates", "configEvents"]; export type TOpsRealtimeResource = (typeof opsRealtimeResources)[number]; export type IOpsRealtimeRevisionMap = Record; export interface IOpsRealtimeInvalidation { resource: TOpsRealtimeResource; revision: number; changedIds?: string[]; reason?: string; timestamp: number; } /** * Authenticates the current WebSocket peer and returns anything newer than the * client's last accepted revision. The tag is assigned by the server only. */ export interface IReq_SubscribeOpsRealtime extends plugins.typedrequestInterfaces.implementsTR { method: 'subscribeOpsRealtime'; request: { identity: IIdentity; knownServerEpoch?: string; knownRevisions?: Partial; }; response: { serverEpoch: string; revisions: IOpsRealtimeRevisionMap; invalidations: IOpsRealtimeInvalidation[]; }; } /** Server-to-browser notification. Resource data remains behind authenticated reads. */ export interface IReq_PushOpsRealtimeInvalidation extends plugins.typedrequestInterfaces.implementsTR { method: 'pushOpsRealtimeInvalidation'; request: { serverEpoch: string; invalidations: IOpsRealtimeInvalidation[]; }; response: Record; }