import type { ExecutionContext } from '../../core/ExecutionContext.ts'; export interface ProtocolConfig { retryPolicy: { maxRetries: number; backoffMs: number; }; timeoutMs: number; } export type FailureAction = 'retry' | 'abort' | 'escalate'; export interface IProtocol { name: string; config: ProtocolConfig; execute(input: TInput, context: ExecutionContext): Promise; onFailure(error: Error, attempt: number): FailureAction; } //# sourceMappingURL=IProtocol.d.ts.map