/**
 * Career Milestone Events (Fast Mode)
 * Major career progression events for fast-forward gameplay (ages 18+).
 * Class-based events extending BaseEvent.
 *
 * Events:
 * - PerformanceReview: Quarterly review with multi-stage outcomes
 * - PromotionOffer: Promotion negotiation with tradeoffs
 * - GotPassedOver: Passed over for promotion, morale hit
 * - LayoffNotice: Multi-stage layoff (notice -> severance -> job search)
 * - CompetitorCounterOffer: Rival company recruits you
 * - StartOwnBusiness: Multi-stage entrepreneurship
 * - WorkplaceConflict: Serious conflict requiring resolution
 */
import { Player } from '../../models/Player.js';
import { BaseEvent, EventConfig, EventResult, AnswerOption, type EventMode } from '../base.js';
/**
 * Quarterly performance review. Your rating depends on recent activity.
 * Outcomes range from "exceeds expectations" to "needs improvement"
 * with salary and happiness consequences.
 */
export declare class PerformanceReview extends BaseEvent {
    readonly id = "performanceReview";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
/**
 * Your company offers you a promotion. More money but more responsibility.
 * Accept: salary +25%, stress +10, happiness +5
 * Negotiate: chance of better terms or insulting the offer
 * Decline: stay comfortable, miss the boat
 */
export declare class PromotionOffer extends BaseEvent {
    readonly id = "promotionOffer";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
/**
 * Someone else got the promotion you deserved.
 * Confront: risky, could help or hurt
 * Refocus: channel frustration into performance
 * Start looking: open to new opportunities
 */
export declare class GotPassedOver extends BaseEvent {
    readonly id = "gotPassedOver";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
/**
 * Multi-stage layoff event.
 * Stage 1: You hear rumors, then get called to HR.
 * Outcome varies by choice: negotiate severance, fight it, or accept gracefully.
 * Follow-up: job search consequences 2 weeks later.
 */
export declare class LayoffNotice extends BaseEvent {
    readonly id = "layoffNotice";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
/**
 * A competing company reaches out with an offer.
 * Jump ship: new job, higher salary, but risk (new environment)
 * Use it as leverage: negotiate raise at current job
 * Decline: loyalty, but is it rewarded?
 */
export declare class CompetitorCounterOffer extends BaseEvent {
    readonly id = "competitorCounterOffer";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
/**
 * Multi-stage entrepreneurship event.
 * Stage 1: The idea — quit your job and pursue it?
 * Follow-up: Business outcome (success/struggle) after 60 days.
 */
export declare class StartOwnBusiness extends BaseEvent {
    readonly id = "startOwnBusiness";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(_player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
/**
 * A serious conflict with a coworker escalates.
 * Mediate: diplomatic, restores peace
 * Escalate to HR: formal route, mixed outcomes
 * Ignore it: conflict festers
 */
export declare class WorkplaceConflict extends BaseEvent {
    readonly id = "workplaceConflict";
    get mode(): EventMode;
    getConfig(): EventConfig;
    checkConditions(player: Player): boolean;
    getQuestion(_player?: Player): string;
    getAnswerOptions(): AnswerOption[];
    processAnswer(player: Player, selectedOption: number): EventResult;
}
export declare const performanceReviewInstance: PerformanceReview;
export declare const promotionOfferInstance: PromotionOffer;
export declare const gotPassedOverInstance: GotPassedOver;
export declare const layoffNoticeInstance: LayoffNotice;
export declare const competitorCounterOfferInstance: CompetitorCounterOffer;
export declare const startOwnBusinessInstance: StartOwnBusiness;
export declare const workplaceConflictInstance: WorkplaceConflict;
export declare const careerMilestoneClassEvents: (PerformanceReview | PromotionOffer | GotPassedOver | LayoffNotice | CompetitorCounterOffer | StartOwnBusiness | WorkplaceConflict)[];
//# sourceMappingURL=careerMilestones.d.ts.map