/**
 * PlayerFactory - Creates test players at various life stages
 *
 * Factory for creating Player instances with consistent test data,
 * supporting different ages and life stage presets.
 */
import { type Sex } from '../models/Person.js';
import { Player } from '../models/Player.js';
export type LifeStage = 'newborn' | 'toddler' | 'child' | 'teen' | 'adult' | 'senior';
export interface PlayerFactoryOptions {
    userId?: string;
    firstname?: string;
    lastname?: string;
    sex?: Sex;
    birthday?: string;
    gameSpeed?: number;
}
export declare class PlayerFactory {
    private static counter;
    /**
     * Generate a unique ID for test players
     */
    private static generateId;
    /**
     * Create a newborn player (age 0)
     */
    static createNewborn(options?: PlayerFactoryOptions): Player;
    /**
     * Create a player at a specific age in years
     */
    static createAtAge(ageYears: number, options?: PlayerFactoryOptions): Player;
    /**
     * Create test relationships for social/dating events
     */
    private static createTestRelationships;
    /**
     * Create a player at a specific life stage
     */
    static createAtStage(stage: LifeStage, options?: PlayerFactoryOptions): Player;
    /**
     * Create a player with custom Person data
     */
    static createWithPerson(personData: Partial<import('../models/Person.js').PersonData>, options?: PlayerFactoryOptions): Player;
    /**
     * Reset the counter (useful between tests)
     */
    static resetCounter(): void;
}
//# sourceMappingURL=PlayerFactory.d.ts.map