import { CloudProvider } from '../../../../modules/providers/enums/cloud-provider.enum';
import { AsyncOperationResponseDto } from '../../../../modules/common/dto';
import { FirewallRuleDto } from '../../../../modules/providers/dto/firewall.dto';
import { HostnameMode } from '../../../../modules/dns/enums/hostname-mode.enum';
/**
 * DTO for VNet configuration during cluster creation
 */
export declare class VNetConfigDto {
    vnetId: string;
    subnetId?: string;
    autoAssignIp?: boolean;
}
export declare class CreateClusterDto {
    name: string;
    provider: CloudProvider;
    region: string;
    nodeSize: string;
    workerCount: number;
    autoscalingEnabled?: boolean;
    minNodes?: number;
    maxNodes?: number;
    scaleUpMemoryPct?: number;
    scaleUpCpuPct?: number;
    cooldownSeconds?: number;
    k3sVersion?: string;
    sshKeys?: string[];
    image?: string;
    metadata?: Record<string, any>;
    firewallRules?: FirewallRuleDto[];
    diskSizeGb?: number;
    vnetConfig?: VNetConfigDto;
    endpointHostnameMode?: HostnameMode;
    nipHostnameToken?: string;
    sharedStorageEnabled?: boolean;
    sharedStorageVolumeSizeGb?: number;
}
/**
 * Response DTO for cluster creation request
 * Extends base async operation response with cluster-specific alias
 */
export declare class CreateClusterResponseDto extends AsyncOperationResponseDto {
    cluster_id: string;
}
