/**
 * Moral Dilemma Events
 * Complex ethical decisions with lasting consequences
 * Ported from Python events/dilemmas/moral_choices.py
 *
 * Events:
 * - bullyDilemma: Bullying intervention dilemma
 * - braceletDilemma: Stolen bracelet dilemma
 * - foundLostPet: Finding someone's lost pet
 * - friendCheating: Friend cheating on partner
 * - foundExpensiveItem: Finding expensive item in store
 * - colleagueStealingCredit: Coworker taking credit
 * - strayAnimalDecision: Stray animal needs help
 * - witnessShoplifting: Witnessing shoplifting
 * - friendBorrowMoney: Friend asks to borrow money
 * - environmentalChoice: Convenience vs environment
 * - parentCareDecision: Caring for aging parent
 * - whistleblowerDecision: Discovering unethical behavior at work
 * - plagiarismAccusation: Accused of plagiarism at school
 * - legalTrouble: Facing legal problems requiring decisions
 */
import { Player } from '../../models/index.js';
import { DilemmaClass, EventResult } from '../base.js';
/**
 * Extended dilemma with custom data
 */
interface DilemmaWithData extends DilemmaClass {
    friend?: string;
    bullies?: string[];
    classmate?: string;
    animal?: string;
    parent_type?: string;
}
/**
 * Bully Dilemma - Bullying intervention
 */
export declare function bullyDilemma(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Bracelet Dilemma - Stolen bracelet
 */
export declare function braceletDilemma(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Found Lost Pet Dilemma
 */
export declare function foundLostPet(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Friend Cheating Dilemma
 */
export declare function friendCheating(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Found Expensive Item Dilemma
 */
export declare function foundExpensiveItem(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Colleague Stealing Credit Dilemma
 */
export declare function colleagueStealingCredit(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Stray Animal Decision Dilemma
 */
export declare function strayAnimalDecision(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Witness Shoplifting Dilemma
 */
export declare function witnessShoplifting(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Friend Borrow Money Dilemma
 */
export declare function friendBorrowMoney(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Environmental Choice Dilemma
 */
export declare function environmentalChoice(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Parent Care Decision Dilemma
 */
export declare function parentCareDecision(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Whistleblower Decision Dilemma
 */
export declare function whistleblowerDecision(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Plagiarism Accusation Dilemma
 * Accused of plagiarism at school - must defend yourself
 */
export declare function plagiarismAccusation(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * Legal Trouble Dilemma
 * Facing legal problems - must decide how to handle them
 */
export declare function legalTrouble(player: Player, type?: 'message' | 'question' | 'answer', response?: {
    option?: string;
}, dilemma?: DilemmaWithData): EventResult;
/**
 * All legacy dilemma event functions.
 * @deprecated Use events/v2/catalog/dilemmas.ts in the v2 event runtime.
 */
export declare const dilemmaEvents: {
    bullyDilemma: typeof bullyDilemma;
    braceletDilemma: typeof braceletDilemma;
    foundLostPet: typeof foundLostPet;
    friendCheating: typeof friendCheating;
    foundExpensiveItem: typeof foundExpensiveItem;
    colleagueStealingCredit: typeof colleagueStealingCredit;
    strayAnimalDecision: typeof strayAnimalDecision;
    witnessShoplifting: typeof witnessShoplifting;
    friendBorrowMoney: typeof friendBorrowMoney;
    environmentalChoice: typeof environmentalChoice;
    parentCareDecision: typeof parentCareDecision;
    whistleblowerDecision: typeof whistleblowerDecision;
    plagiarismAccusation: typeof plagiarismAccusation;
    legalTrouble: typeof legalTrouble;
};
export {};
//# sourceMappingURL=moral_choices.d.ts.map