import { ConfigManager } from '../../config/config-manager.js';
import { Sprint, Story, Epic, SprintPlanningSession, SprintRetrospective, StandupReport, VelocityReport, BurndownChart, SprintStatus, BacklogFilter, CreateSprintOptions, CreateStoryOptions, CreateEpicOptions, SprintPlanningOptions, StandupOptions, RetrospectiveOptions, StoryUpdateOptions, VelocityOptions, EpicUpdateOptions, SprintUpdateOptions } from './types.js';
export declare class AgileManager {
    private configManager;
    private storageManager;
    private agileDataPath;
    private sprints;
    private stories;
    private epics;
    private standups;
    private retrospectives;
    constructor(configManager: ConfigManager);
    initialize(): Promise<void>;
    private loadExistingData;
    validateAndRepairDataIntegrity(): Promise<{
        valid: boolean;
        repairs: string[];
    }>;
    private fileExists;
    createSprint(options: CreateSprintOptions): Promise<Sprint>;
    addStory(options: CreateStoryOptions): Promise<Story>;
    createEpic(options: CreateEpicOptions): Promise<Epic>;
    saveEpic(epic: Epic): Promise<void>;
    updateEpic(epicId: string, updates: EpicUpdateOptions): Promise<Epic>;
    updateSprint(sprintId: string, updates: SprintUpdateOptions): Promise<Sprint>;
    addStoryToSprint(storyId: string, sprintId: string): Promise<void>;
    conductSprintPlanning(options: SprintPlanningOptions): Promise<SprintPlanningSession>;
    recordStandup(options: StandupOptions): Promise<StandupReport>;
    conductRetrospective(options: RetrospectiveOptions): Promise<SprintRetrospective>;
    updateStoryStatus(storyId: string, updates: StoryUpdateOptions): Promise<Story>;
    generateBurndownChart(sprintId: string): Promise<BurndownChart>;
    generateVelocityReport(options: VelocityOptions): Promise<VelocityReport>;
    getSprintStatus(sprintId?: string): Promise<SprintStatus>;
    private calculateBurndownData;
    getBacklog(filter?: BacklogFilter): Promise<Story[]>;
    getSprints(filter?: {
        status?: string;
        includeCompleted?: boolean;
    }): Promise<Sprint[]>;
    getSprint(sprintId: string): Promise<Sprint | null>;
    getActiveSprint(): Promise<Sprint | null>;
    getEpics(filter?: {
        status?: string;
        owner?: string;
    }): Promise<Epic[]>;
    getEpic(epicId: string): Promise<Epic | null>;
    getStory(storyId: string): Promise<Story | null>;
    getAllStories(): Promise<Story[]>;
    getStoriesForSprint(sprintId: string): Promise<Story[]>;
    getEpicsForSprint(sprintId: string): Promise<Epic[]>;
    getStoriesForEpicInSprint(epicId: string, sprintId: string): Promise<Story[]>;
    getSprintProgress(sprintId: string): Promise<{
        epicProgress: Map<string, {
            total: number;
            completed: number;
        }>;
    }>;
    addEpicToSprint(epicId: string, sprintId: string): Promise<void>;
    removeEpicFromSprint(epicId: string, sprintId: string): Promise<void>;
    getEpicsForSprintDirect(sprintId: string): Promise<Epic[]>;
    private saveSprints;
    private saveStories;
    private saveEpics;
    private saveStandups;
    private saveRetrospectives;
    private generateId;
    private createSampleData;
    private getDataVersion;
    private compareVersions;
    private updateDataVersion;
}
//# sourceMappingURL=manager.d.ts.map