/// import { EventEmitter } from 'events'; import { AuthState } from '../auth/index.js'; import { QualifiedTablename } from '../util/tablename.js'; import { ConnectivityState, DbName } from '../util/types.js'; import { AuthStateCallback, AuthStateNotification, Change, ChangeCallback, ChangeNotification, ChangeOrigin, ConnectivityStateChangeCallback, ConnectivityStateChangeNotification, Notification, NotificationCallback, Notifier, PotentialChangeCallback, PotentialChangeNotification, ShapeSubscriptionSyncStatusChangeCallback, ShapeSubscriptionSyncStatusChangeNotification, UnsubscribeFunction } from './index.js'; import { SyncStatus } from '../client/model/shapes.js'; export declare const EVENT_NAMES: { authChange: string; actualDataChange: string; potentialDataChange: string; connectivityStateChange: string; shapeSubscriptionStatusChange: string; }; export declare class EventNotifier implements Notifier { dbName: DbName; attachedDbIndex: { byAlias: { [key: string]: DbName; }; byName: { [key: DbName]: string; }; }; events: EventEmitter; constructor(dbName: DbName, eventEmitter?: EventEmitter); attach(dbName: DbName, dbAlias: string): void; detach(dbAlias: string): void; alias({ dbName, changes }: ChangeNotification): QualifiedTablename[]; authStateChanged(authState: AuthState): void; subscribeToAuthStateChanges(callback: AuthStateCallback): UnsubscribeFunction; potentiallyChanged(): void; actuallyChanged(dbName: DbName, changes: Change[], origin: ChangeOrigin): void; subscribeToPotentialDataChanges(callback: PotentialChangeCallback): UnsubscribeFunction; subscribeToDataChanges(callback: ChangeCallback): UnsubscribeFunction; connectivityStateChanged(dbName: string, status: ConnectivityState): void; subscribeToConnectivityStateChanges(callback: ConnectivityStateChangeCallback): UnsubscribeFunction; shapeSubscriptionSyncStatusChanged(dbName: string, key: string, status: SyncStatus): void; subscribeToShapeSubscriptionSyncStatusChanges(callback: ShapeSubscriptionSyncStatusChangeCallback): UnsubscribeFunction; _getDbNames(): DbName[]; _hasDbName(dbName: DbName): boolean; _emitAuthStateChange(authState: AuthState): AuthStateNotification; _emitPotentialChange(dbName: DbName): PotentialChangeNotification; _emitActualChange(dbName: DbName, changes: Change[], origin: ChangeOrigin): ChangeNotification; _emitConnectivityStatus(dbName: DbName, connectivityState: ConnectivityState): ConnectivityStateChangeNotification; _emitShapeSubscriptionSyncStatusChange(dbName: DbName, key: string, status: SyncStatus): ShapeSubscriptionSyncStatusChangeNotification; _emit(eventName: string, notification: Notification): void; _subscribe(eventName: string, callback: NotificationCallback): void; _unsubscribe(eventName: string, callback: NotificationCallback): void; }