/**
 * ActivityRecord and EducationRecord models
 * Ported from Python ActivityRecord and EducationRecord classes
 *
 * Tracks activity participation, progress, and achievements.
 */
export interface ActivityRecordData {
    id: string;
    type: string;
    dateStarted?: string;
    achievements?: string[];
    performance?: number;
    level?: number;
    focus?: string;
}
/**
 * ActivityRecord - tracks participation in activities
 */
export declare class ActivityRecord {
    id: string;
    type: string;
    dateStarted: string;
    achievements: string[];
    performance: number;
    level: number;
    focus: string;
    constructor(data: ActivityRecordData);
    /**
     * Increment performance (called when activity is performed)
     */
    incrementPerformance(amount?: number): void;
    /**
     * Add an achievement
     */
    addAchievement(achievement: string): void;
    /**
     * Get days since activity started
     */
    getDaysSinceStart(currentDate: string): number;
    toJSON(): ActivityRecordData;
    static fromJSON(data: ActivityRecordData): ActivityRecord;
}
export interface EducationRecordData extends ActivityRecordData {
    educationLevel?: string;
    location?: string;
    major?: string;
    minor?: string;
    GPA?: number;
    credits?: number;
    graduationDate?: string;
}
/**
 * EducationRecord - extends ActivityRecord for education tracking
 */
export declare class EducationRecord extends ActivityRecord {
    educationLevel: string;
    location: string;
    major: string;
    minor: string;
    GPA: number;
    credits: number;
    graduationDate: string;
    constructor(data: EducationRecordData);
    /**
     * Update GPA based on performance
     */
    updateGPA(testScore: number): void;
    /**
     * Add credits
     */
    addCredits(amount: number): void;
    /**
     * Check if graduated
     */
    hasGraduated(currentDate: string): boolean;
    /**
     * Get GPA on 4.0 scale
     */
    getGPA4Scale(): number;
    toJSON(): EducationRecordData;
    static fromJSON(data: EducationRecordData): EducationRecord;
}
/**
 * Helper to get activity record by ID
 */
export declare function getActivityRecord(activityRecords: ActivityRecordData[], activityId: string): ActivityRecord | undefined;
/**
 * Helper to check if person has activity
 */
export declare function hasActivity(activityRecords: ActivityRecordData[], activityType: string): boolean;
/**
 * Helper to increment activity performance
 */
export declare function incrementActivityPerformance(activityRecords: ActivityRecordData[], activityId: string, amount?: number): void;
//# sourceMappingURL=ActivityRecord.d.ts.map