/**
 * Project phase operations.
 */
import { PhaseFilter, PhaseTemplate, PhaseTemplateFilter, ProjectPhase } from '../types.js';
import { StorageContext } from './types.js';
export declare class PhaseStorage {
    private ctx;
    constructor(ctx: StorageContext);
    /**
     * List project phases.
     */
    listPhases(filter?: PhaseFilter): Promise<ProjectPhase[]>;
    /**
     * Get a phase by ID.
     */
    getPhase(id: string): Promise<ProjectPhase | null>;
    /**
     * Create a new phase.
     */
    createPhase(phase: Partial<ProjectPhase>): Promise<ProjectPhase>;
    /**
     * Update a phase.
     */
    updatePhase(id: string, changes: Partial<ProjectPhase>): Promise<ProjectPhase>;
    /**
     * Delete a phase.
     */
    deletePhase(id: string): Promise<void>;
    /**
     * Reorder a phase to a new position.
     */
    reorderPhase(id: string, newPosition: number): Promise<ProjectPhase>;
    /**
     * Get the default phase.
     */
    getDefaultPhase(): Promise<ProjectPhase | null>;
    /**
     * List phase templates.
     */
    listPhaseTemplates(filter?: PhaseTemplateFilter): Promise<PhaseTemplate[]>;
    /**
     * Get a phase template by ID.
     */
    getPhaseTemplate(id: string): Promise<PhaseTemplate | null>;
    /**
     * Apply a phase template.
     */
    applyPhaseTemplate(templateId: string): Promise<ProjectPhase[]>;
    /**
     * Save current phases as a template.
     */
    savePhaseTemplate(name: string, description?: string): Promise<PhaseTemplate>;
    /**
     * Update a phase template.
     */
    updatePhaseTemplate(id: string, changes: {
        name?: string;
        description?: string;
    }): Promise<PhaseTemplate>;
    /**
     * Delete a phase template.
     */
    deletePhaseTemplate(id: string): Promise<void>;
    private rowToPhase;
}
