import { Context, Effect, Layer } from "effect"; import type { AuditRecord, AuthorizationRequest, Determination, TerminalDetermination } from "./domain.cjs"; import { ProtocolError } from "./domain.cjs"; import { type X278PolicyAdapter } from "./policy.cjs"; export interface PayerAgentService { readonly authorize: (request: unknown) => Effect.Effect; readonly resume: (authId: string, resumeToken: string, evidence: unknown) => Effect.Effect; readonly awaitDetermination: (subscription: string) => Effect.Effect; readonly auditLog: Effect.Effect>; readonly publicKeyPem: string; readonly verify: (request: AuthorizationRequest, determination: TerminalDetermination) => Effect.Effect; } declare const PayerAgent_base: Context.TagClass; export declare class PayerAgent extends PayerAgent_base { } export interface PayerAgentOptions { readonly policy?: X278PolicyAdapter; readonly keyId?: string; } export declare const makePayerAgent: (options?: PayerAgentOptions) => Effect.Effect; export declare const makeReferencePayerAgent: Effect.Effect; export declare const PayerAgentLive: Layer.Layer; export {}; //# sourceMappingURL=payer-agent.d.cts.map