import { Context, Effect, Layer, Schema } from "effect"; import type { DeliveryBatch, ModelInvocationCompleted, ModelInvocationFailed, ModelInvocationStarted } from "./model-telemetry.js"; declare const InvocationCoordinationFailed_base: Schema.Class, import("effect/Cause").YieldableError>; /** @experimental */ export declare class InvocationCoordinationFailed extends InvocationCoordinationFailed_base { } /** @experimental */ export interface InvocationCoordinatorInterface { readonly beforeAttempt: (input: ModelInvocationStarted) => Effect.Effect; readonly completeAttempt: (input: ModelInvocationCompleted) => Effect.Effect; readonly failAttempt: (input: ModelInvocationFailed) => Effect.Effect; } declare const InvocationCoordinator_base: Context.ServiceClass; /** @experimental */ export declare class InvocationCoordinator extends InvocationCoordinator_base { } /** @experimental */ export declare const layerInvocationCoordinatorNoop: Layer.Layer; /** @experimental */ export declare const isInvocationCoordinationFailed: (input: I) => input is I & InvocationCoordinationFailed; declare const DeliveryFailed_base: Schema.Class; }>, import("effect/Cause").YieldableError>; /** @experimental Host telemetry delivery failure. A remote failure can be ambiguous; reconcile with the sink. */ export declare class DeliveryFailed extends DeliveryFailed_base { } /** @experimental Host sink for ordered, backpressured lifecycle delivery. Deduplicate by `(sessionId, deliveryId)`. */ export interface DeliveryInterface { readonly deliver: (batch: DeliveryBatch) => Effect.Effect; } declare const Delivery_base: Context.ServiceClass; /** @experimental */ export declare class Delivery extends Delivery_base { } /** @experimental No-op host delivery sink. */ export declare const layerNoop: Layer.Layer; /** @experimental Generate one telemetry identifier via `IdGenerator`, defaulting when absent. */ export declare const generateId: Effect.Effect; export {};