import { Effect, Scope } from 'effect';
import type { Leadership, LeadershipIdentity } from '../../platform/leadership/index.js';
import type { StrategyFlow } from '../sync-flow/index.js';
import type { LeadershipState } from '../../domain/sync-event/index.js';
export declare const superviseStrategy: (args: {
leadership: Leadership;
identity: LeadershipIdentity;
flow?: StrategyFlow;
run: (scope: Scope.Scope) => Effect.Effect;
onError: (error: E) => Effect.Effect;
onDefect?: (defect: unknown) => Effect.Effect;
onLeadership?: (state: LeadershipState) => Effect.Effect;
}) => Effect.Effect;
//# sourceMappingURL=supervisor.d.ts.map