import { type ImplDecorator, Logger, HttpClient } from 'egg'; import type { RegistryType } from '../../../common/enum/Registry.ts'; import type { Registry } from '../../../core/entity/Registry.ts'; export declare const CHANGE_STREAM_ATTRIBUTE = "CHANGE_STREAM_ATTRIBUTE"; export interface ChangesStreamChange { seq: string; fullname: string; } export declare abstract class AbstractChangeStream { protected logger: Logger; protected httpClient: HttpClient; abstract getInitialSince(registry: Registry): Promise; abstract fetchChanges(registry: Registry, since: string): AsyncGenerator; getChangesStreamUrl(registry: Registry, since: string, limit?: number): string; } export declare const RegistryChangesStream: ImplDecorator;