/**
 * Intraday Activity System
 *
 * Generates and manages daily schedules for characters.
 * Handles different life stages: preschool, student, worker, retired.
 *
 * Ported from Python ws/intradayActivity.py
 */
import { Player, Person } from '../../models/index.js';
export interface DailyEvent {
    time: number;
    location: string;
    title: string;
    name: string;
}
export interface Schedule {
    id: string;
    title: string;
    location: string;
    duration: number;
    executions: number;
    days: {
        daysOfWeek: string[];
        hour: number;
    };
}
export interface Location {
    id: string;
    type: string;
    name?: string;
}
/**
 * Get intraday activity for current time
 * Updates person's location and intraDayMessage based on their daily plan
 */
export declare function getIntradayActivity(player: Player, person: Person): Person;
/**
 * Generate daily plan for a person
 * Main entry point that dispatches to specific plan generators based on occupation
 */
export declare function getDailyPlan(player: Player, person: Person): Person;
/**
 * Decay familiarity for all NPCs each day
 * Called from game loop at start of each day
 */
export declare function decayFamiliarity(player: Player, decayAmount?: number): void;
/**
 * Restore energy for a person (called at start of each day)
 * Energy restoration varies based on sleep quality and other factors
 */
export declare function restoreEnergy(person: Person, baseRestore?: number): void;
/**
 * Get peak energy for a person based on age and health
 * Used for calculating energy restoration rates
 */
export declare function getPeakEnergy(person: Person): number;
/**
 * Update bio based on current activity and mood
 * Called periodically to generate dynamic bio text
 */
export declare function updateBio(person: Person): void;
/**
 * Check if current time matches a school day
 * Used for determining if student should be in school
 */
export declare function isSchoolDay(player: Player): boolean;
/**
 * Get the current location type for a person
 */
export declare function getLocationType(player: Player, person: Person): string;
//# sourceMappingURL=intradayActivity.d.ts.map