/**
 * Activities Conventions for Student Life
 * Manages clubs, sports, arts, and extracurricular programs
 */
export interface Activity {
    id: string;
    name: string;
    type: 'club' | 'sport' | 'arts' | 'academic' | 'service' | 'leadership';
    category: string;
    description: string;
    requirements: ActivityRequirements;
    schedule: ActivitySchedule;
    capacity: Capacity;
    advisor: string;
    budget: number;
}
export interface ActivityRequirements {
    gradeLevel?: number[];
    gpaMinimum?: number;
    prerequisites?: string[];
    tryoutRequired?: boolean;
    applicationRequired?: boolean;
    commitmentHours: number;
    fees?: number;
}
export interface ActivitySchedule {
    meetingPattern: 'daily' | 'weekly' | 'biweekly' | 'monthly';
    dayOfWeek?: string[];
    timeSlot: TimeSlot;
    location: string;
    season?: 'fall' | 'winter' | 'spring' | 'summer' | 'year-round';
}
export interface TimeSlot {
    startTime: string;
    endTime: string;
    duration: number;
}
export interface Capacity {
    minimum: number;
    maximum: number;
    current: number;
    waitlist: number;
}
export interface StudentParticipation {
    studentId: string;
    activities: ActivityEnrollment[];
    totalHours: number;
    leadershipRoles: LeadershipRole[];
    achievements: Achievement[];
}
export interface ActivityEnrollment {
    activityId: string;
    enrollmentDate: Date;
    status: 'active' | 'inactive' | 'completed' | 'withdrawn';
    attendance: number;
    role: 'member' | 'officer' | 'captain' | 'president';
    performance?: PerformanceMetrics;
}
export interface LeadershipRole {
    activityId: string;
    position: string;
    startDate: Date;
    endDate?: Date;
    responsibilities: string[];
    impact: LeadershipImpact;
}
export interface LeadershipImpact {
    membersLed: number;
    eventsOrganized: number;
    budgetManaged: number;
    skillsDeveloped: string[];
}
export interface Achievement {
    type: 'award' | 'recognition' | 'milestone' | 'competition';
    name: string;
    date: Date;
    level: 'school' | 'district' | 'state' | 'national' | 'international';
    description: string;
}
export interface PerformanceMetrics {
    skillProgress: number;
    teamworkScore: number;
    leadershipScore: number;
    commitmentScore: number;
}
export declare namespace ActivitiesConventions {
    /**
     * Generate balanced activity schedules
     * Prevents conflicts and maximizes participation
     */
    function generateActivitySchedule(activities: Activity[], facilities: Facility[], academicSchedule: AcademicSchedule, constraints?: SchedulingConstraints): ActivityScheduleResult;
    /**
     * Match students to activities based on interests and skills
     * Enhances engagement and personal growth
     */
    function recommendActivities(student: Student, availableActivities: Activity[], currentParticipation: StudentParticipation, peerData?: PeerActivityData): ActivityRecommendation;
    /**
     * Track and optimize activity participation
     * Ensures balanced involvement and prevents overcommitment
     */
    function optimizeStudentPortfolio(student: Student, currentActivities: ActivityEnrollment[], academicPerformance: AcademicMetrics, wellbeingMetrics?: WellbeingIndicators): PortfolioOptimization;
    /**
     * Manage activity resources and budgets
     * Optimizes allocation for maximum student benefit
     */
    function allocateActivityResources(activities: Activity[], totalBudget: number, historicalData: ActivityHistoricalData[], priorities: ResourcePriorities): ResourceAllocationResult;
}
export interface Student {
    id: string;
    name: string;
    grade: number;
    gpa?: number;
}
export interface Facility {
    id: string;
    name: string;
    type: string;
    capacity: number;
    availability: TimeSlot[];
    equipment?: string[];
}
export interface AcademicSchedule {
    schoolHours: TimeSlot;
    classPeriods: TimeSlot[];
    breaks: TimeSlot[];
}
export interface SchedulingConstraints {
    maxDailyActivities?: number;
    bufferBetweenActivities?: number;
    priorityTypes?: string[];
    blackoutTimes?: TimeSlot[];
}
export interface ActivityScheduleResult {
    schedule: ScheduledActivity[];
    conflicts: ScheduleConflict[];
    utilization: FacilityUtilization;
    philosophyImpact: {
        participationPotential: number;
        conflictReduction: number;
        teacherTimeOptimized: number;
    };
}
export interface ScheduledActivity {
    activity: Activity;
    timeSlot: TimeSlot;
    facility: Facility;
    conflicts: string[];
}
export interface ScheduleConflict {
    activity: Activity;
    reason: string;
    alternatives: TimeSlot[];
}
export interface FacilityUtilization {
    overall: number;
    byFacility: Map<string, number>;
    peakTimes: TimeSlot[];
    underutilized: Facility[];
}
export interface ActivityGroup {
    type: string;
    activities: Activity[];
    priority: number;
}
export interface OptimalSlot {
    time: TimeSlot;
    facility: Facility;
    conflicts: string[];
}
export interface PeerActivityData {
    popularActivities: string[];
    friendParticipation: Map<string, string[]>;
}
export interface ActivityRecommendation {
    topRecommendations: RecommendedActivity[];
    byCategory: Map<string, RecommendedActivity[]>;
    philosophyImpact: {
        engagementIncrease: number;
        skillDevelopment: number;
        socialConnection: number;
    };
}
export interface RecommendedActivity {
    activity: Activity;
    fitScore: number;
    reasons: string[];
    growthPotential: number;
    peerParticipation: number;
}
export interface StudentProfile {
    interests: string[];
    strengths: string[];
    availableTime: number;
    preferences: any;
}
export interface FitScore {
    overall: number;
    reasons: string[];
    growthPotential: number;
    peerMatch: number;
}
export interface AcademicMetrics {
    gpa: number;
    courseLoad: number;
    academicStanding: string;
}
export interface WellbeingIndicators {
    stressLevel: number;
    socialConnection: number;
    physicalHealth: number;
    mentalHealth: number;
}
export interface PortfolioOptimization {
    currentLoad: ActivityLoad;
    balance: PortfolioBalance;
    recommendations: PortfolioRecommendation[];
    projectedOutcomes: any;
    philosophyImpact: {
        studentWellbeing: number;
        academicBalance: number;
        holisiticDevelopment: number;
    };
}
export interface ActivityLoad {
    totalHours: number;
    byType: Map<string, number>;
    intensity: 'low' | 'medium' | 'high';
}
export interface PortfolioBalance {
    diversity: number;
    academicImpact: number;
    wellbeingScore: number;
    timeBalance: string;
}
export interface PortfolioRecommendation {
    type: 'reduce' | 'diversify' | 'leadership' | 'maintain';
    reason: string;
    suggestedChanges: string[];
    expectedBenefit: string;
}
export interface ActivityHistoricalData {
    activityId: string;
    year: number;
    participation: number;
    budget: number;
    outcomes: any;
}
export interface ResourcePriorities {
    focusAreas: string[];
    underservedPopulations: string[];
    strategicGoals: string[];
}
export interface ResourceAllocationResult {
    allocations: ActivityAllocation[];
    totalAllocated: number;
    unallocated: number;
    fundedActivities: number;
    philosophyImpact: {
        studentReach: number;
        diversitySupported: number;
        opportunityEquity: number;
    };
}
export interface ActivityAllocation {
    activity: Activity;
    allocatedBudget: number;
    percentOfRequest: number;
    justification: string;
    expectedOutcomes: any;
}
//# sourceMappingURL=activities-conventions.d.ts.map