/**
 * Health Check Types and Interfaces
 */
/**
 * Spinner interface for ora or fallback
 */
export interface Spinner {
    start(): {
        succeed(msg?: string): void;
        fail(msg?: string): void;
        warn(msg?: string): void;
        info(msg?: string): void;
        text: string;
    };
}
/**
 * Details for individual health check
 */
export interface HealthCheckDetails {
    status: 'OK' | 'ERROR' | 'WARN';
    info: string;
}
/**
 * Individual health check item
 */
export interface HealthCheckItem {
    name: string;
    status: 'success' | 'error' | 'warning';
    message?: string;
    fix?: string;
}
/**
 * Health issue (error or warning)
 */
export interface HealthIssue {
    name: string;
    message: string;
    fix?: string;
}
/**
 * Health check results container
 */
export declare class HealthCheck {
    checks: HealthCheckItem[];
    warnings: HealthIssue[];
    errors: HealthIssue[];
    details: Record<string, HealthCheckDetails>;
    addCheck(name: string, status: 'success' | 'error' | 'warning', message?: string, fix?: string | undefined, details?: HealthCheckDetails | undefined): void;
    hasErrors(): boolean;
    hasWarnings(): boolean;
    isHealthy(): boolean;
}
/**
 * Base interface for all health checks
 */
export interface IHealthChecker {
    name: string;
    run(results: HealthCheck): Promise<void> | void;
}
/**
 * Create ora spinner with fallback for environments where ora is unavailable
 */
export declare function createSpinner(): (text: string) => Spinner;
//# sourceMappingURL=types.d.ts.map