/** * ChoiceManager.ts * * Player choice tracking: consequence scoring, memory, * reputation effects, and branching history. * * @module dialogue */ export interface PlayerChoice { id: string; dialogueId: string; nodeId: string; choiceText: string; timestamp: number; consequences: ChoiceConsequence[]; } export interface ChoiceConsequence { type: 'reputation' | 'variable' | 'flag' | 'relationship'; target: string; value: number | string | boolean; } export interface ReputationEntry { faction: string; value: number; history: Array<{ change: number; reason: string; timestamp: number; }>; } export interface RelationshipEntry { character: string; affinity: number; history: Array<{ change: number; reason: string; timestamp: number; }>; } export declare class ChoiceManager { private choices; private flags; private reputations; private relationships; recordChoice(dialogueId: string, nodeId: string, choiceText: string, consequences?: ChoiceConsequence[]): PlayerChoice; private modifyReputation; getReputation(faction: string): number; private modifyRelationship; getRelationship(character: string): number; setFlag(name: string, value?: boolean): void; getFlag(name: string): boolean; hasFlag(name: string): boolean; getChoiceCount(): number; getChoicesForDialogue(dialogueId: string): PlayerChoice[]; hasChosen(dialogueId: string, nodeId: string): boolean; getRecentChoices(count: number): PlayerChoice[]; getAllReputations(): Map; getAllRelationships(): Map; } //# sourceMappingURL=ChoiceManager.d.ts.map