import type { SvnRuntime } from "@yinuo-ngm/core";
import type { SvnEventPayloadMap, SvnEventType } from "@yinuo-ngm/protocol";
import { WsContext } from "../ws.context";
import { TopicHandler } from "../ws.router";
export type SvnSyncWsDeps = {
    getSvnRuntimeByProjectId?: (projectId: string, tail?: number) => Promise<SvnRuntime[]>;
};
export declare function createSvnSyncTopicHandler(deps: SvnSyncWsDeps, getAllClients: () => Iterable<WsContext>): TopicHandler & {
    pushEvent<K extends SvnEventType>(type: K, payload: SvnEventPayloadMap[K]): void;
};
