/**
 * Phase lifecycle management - CRUD, transitions, and querying.
 * @task T4464
 * @epic T4454
 */
import type { PhaseStatus } from '@cleocode/contracts';
import type { DataAccessor } from '../store/data-accessor.js';
/** Options for listing phases. */
export interface ListPhasesResult {
    currentPhase: string | null;
    phases: Array<{
        slug: string;
        name: string;
        order: number;
        status: PhaseStatus;
        startedAt: string | null;
        completedAt: string | null;
        isCurrent: boolean;
    }>;
    summary: {
        total: number;
        pending: number;
        active: number;
        completed: number;
    };
}
/** Options for setting current phase. */
export interface SetPhaseOptions {
    slug: string;
    rollback?: boolean;
    force?: boolean;
    dryRun?: boolean;
}
/** Result of a phase set operation. */
export interface SetPhaseResult {
    previousPhase: string | null;
    currentPhase: string;
    isRollback: boolean;
    isSkip: boolean;
    skippedPhases?: number;
    warning?: string;
    dryRun?: boolean;
}
/** Phase show result. */
export interface ShowPhaseResult {
    slug: string;
    name: string;
    status: PhaseStatus;
    order: number;
    startedAt: string | null;
    completedAt: string | null;
    taskCount: number;
    completedTaskCount: number;
}
/** Phase advance result. */
export interface AdvancePhaseResult {
    previousPhase: string;
    currentPhase: string;
    forced: boolean;
}
/** Phase rename result. */
export interface RenamePhaseResult {
    oldName: string;
    newName: string;
    tasksUpdated: number;
    currentPhaseUpdated: boolean;
}
/** Phase delete result. */
export interface DeletePhaseResult {
    deletedPhase: string;
    tasksReassigned: number;
    reassignedTo: string | null;
}
/**
 * List all phases with status summaries.
 * @task T4464
 */
export declare function listPhases(_cwd?: string, accessor?: DataAccessor): Promise<ListPhasesResult>;
/**
 * Show the current phase details.
 * @task T4464
 */
export declare function showPhase(slug?: string, _cwd?: string, accessor?: DataAccessor): Promise<ShowPhaseResult>;
/**
 * Set the current project phase.
 * @task T4464
 */
export declare function setPhase(options: SetPhaseOptions, _cwd?: string, accessor?: DataAccessor): Promise<SetPhaseResult>;
/**
 * Start a phase (pending -> active).
 * @task T4464
 */
export declare function startPhase(slug: string, _cwd?: string, accessor?: DataAccessor): Promise<{
    phase: string;
    startedAt: string;
}>;
/**
 * Complete a phase (active -> completed).
 * @task T4464
 */
export declare function completePhase(slug: string, _cwd?: string, accessor?: DataAccessor): Promise<{
    phase: string;
    completedAt: string;
}>;
/**
 * Advance to the next phase.
 * @task T4464
 */
export declare function advancePhase(force?: boolean, _cwd?: string, accessor?: DataAccessor): Promise<AdvancePhaseResult>;
/**
 * Rename a phase and update all task references.
 * @task T4464
 */
export declare function renamePhase(oldName: string, newName: string, _cwd?: string, accessor?: DataAccessor): Promise<RenamePhaseResult>;
/**
 * Delete a phase with optional task reassignment.
 * @task T4464
 */
export declare function deletePhase(slug: string, options?: {
    reassignTo?: string;
    force?: boolean;
}, _cwd?: string, accessor?: DataAccessor): Promise<DeletePhaseResult>;
//# sourceMappingURL=index.d.ts.map