import { EffectTarget } from "../core/schema"; export type EffectTargetResolutionMode = "rule" | "action"; type EffectContextKey = "self" | "other" | "user"; type EffectActorKey = EffectContextKey | "userOrOther"; export type EffectResolutionContext = { self: number; other?: number; user?: number; }; export type EffectTargetResolution = { ok: true; resolvedTarget: EffectTarget; targetKey: EffectContextKey; actorKey: EffectActorKey; target: number; actor?: number; } | { ok: false; resolvedTarget: EffectTarget; targetKey: EffectContextKey; actorKey: EffectActorKey; reason: "missing_target_context"; missing: "other" | "user"; message: string; }; export declare function resolveEffectTarget(mode: EffectTargetResolutionMode, requestedTarget: EffectTarget | string | undefined, context: EffectResolutionContext): EffectTargetResolution; export {}; //# sourceMappingURL=effectTargetResolver.d.ts.map