import { PlanTier } from "../types/plans.js";
import { Logger } from "../types/index.js";
export interface TierCommandOptions {
    stackName: string;
    companyName: string;
    kubeconfig?: string;
    namespace?: string;
    kubecostUrl?: string;
    logger: Logger;
}
/**
 * CLI commands for managing tier-based resource allocation
 */
export declare class TierCommands {
    private options;
    private calculator;
    private migrationManager;
    constructor(options: TierCommandOptions);
    /**
     * Show available tiers and their resource allocations
     */
    showTiers(): Promise<void>;
    /**
     * Calculate resource allocation for a specific tier
     */
    calculateTier(tier: PlanTier): Promise<void>;
    /**
     * Validate current tier configuration
     */
    validateTier(tier: PlanTier): Promise<void>;
    /**
     * Migrate resources to a new tier
     */
    migrateTier(currentTier: PlanTier, targetTier: PlanTier): Promise<void>;
    /**
     * Plan a tier migration
     */
    planMigration(fromTier: PlanTier, toTier: PlanTier): Promise<void>;
    /**
     * Execute a tier migration
     */
    executeMigration(fromTier: PlanTier, toTier: PlanTier, options?: {
        dryRun?: boolean;
        force?: boolean;
        skipPreChecks?: boolean;
    }): Promise<void>;
    /**
     * Validate a tier migration
     */
    validateMigration(fromTier: PlanTier, toTier: PlanTier, options?: {
        checkResourceUsage?: boolean;
        checkClusterCapacity?: boolean;
    }): Promise<void>;
    /**
     * Rollback a tier migration
     */
    rollbackMigration(fromTier: PlanTier, toTier: PlanTier): Promise<void>;
    /**
     * Show possible migration paths from a tier
     */
    showMigrationPaths(tier: PlanTier): Promise<void>;
}
/**
 * Add tier management commands to yargs
 */
export declare function addTierCommands(yargs: any, logger?: Logger): any;
//# sourceMappingURL=tier-commands.d.ts.map