import type { EventRegistry } from '../registry.js';
import type { EventErrorEnvelope, EventPlayerContext, EventResolvedEnvelope } from '../types.js';
interface PendingEventInstance {
    instanceId: string;
    playerId: string;
    eventId: string;
    status: 'pending' | 'answered' | 'resolved' | 'cancelled';
}
interface EventResolutionStore {
    getPendingEventInstances(playerId: string): Promise<PendingEventInstance[]>;
    answerEventInstance(instanceId: string, choiceId: string): Promise<boolean>;
    resolveEventInstance(instanceId: string, resolution: {
        resolutionText: string;
        effects?: Record<string, unknown>;
    }): Promise<boolean>;
}
export interface EventResponseInput {
    eventId: string;
    choiceId: string;
}
type EventResponseResult = EventResolvedEnvelope | EventErrorEnvelope;
export declare class EventResponder {
    private readonly registry;
    private readonly store;
    constructor(registry: EventRegistry, store: EventResolutionStore);
    respond(player: EventPlayerContext, input: EventResponseInput): Promise<EventResponseResult>;
}
export {};
//# sourceMappingURL=respond.d.ts.map