import type { AftTransportPool } from "@cortexkit/aft-bridge"; import { Effect, type Scope } from "effect"; import { type AftIndexProgress, AftRpc, type AftRpcSession } from "./contract"; type RpcRegistration = { dispose: Effect.Effect; events: { emit(name: keyof typeof AftRpc.events, payload: Record): Effect.Effect; }; }; export type AftRpcContext = { rpc: { register(definition: typeof AftRpc, handlers: { getStatus(input: AftRpcSession): Effect.Effect, unknown>; }): Effect.Effect; }; }; export type AftRpcLocation = { directory: string; project?: { directory?: string; canonical?: string; }; }; export type RegisteredAftRpc = { emitStatusInvalidated(payload?: AftRpcSession): Promise; emitShowStatusDialog(payload?: AftRpcSession): Promise; emitIndexProgress(payload: AftIndexProgress): Promise; dispose(): Promise; }; export declare function indexProgressFromStatus(snapshot: Record): AftIndexProgress[]; export declare function registerAftRpc(context: AftRpcContext, location: AftRpcLocation, pool: AftTransportPool): Effect.Effect; export {}; //# sourceMappingURL=register.d.ts.map