import { Repository } from 'typeorm';
import { Queue } from 'bull';
import { ClusterEntity } from '../entities/cluster.entity';
import { InfrastructureOperationEntity } from '../../servers/entities/infrastructure-operations.entity';
import { CreateClusterDto } from '../dto/create-cluster.dto';
import { EncryptionService } from '../../../shared/encryption/services/encryption.service';
import { ClusterFirewallIntegrationService } from './cluster-firewall-integration.service';
import { VNetSubnetEntity } from '../../vnets/entities/vnet-subnet.entity';
/**
 * Service responsible for cluster creation logic
 */
export declare class ClusterCreationService {
    private readonly clusterRepository;
    private readonly operationRepository;
    private readonly vnetSubnetRepository;
    private readonly infrastructureQueue;
    private readonly encryptionService;
    private readonly clusterFirewallIntegrationService;
    private readonly logger;
    constructor(clusterRepository: Repository<ClusterEntity>, operationRepository: Repository<InfrastructureOperationEntity>, vnetSubnetRepository: Repository<VNetSubnetEntity>, infrastructureQueue: Queue, encryptionService: EncryptionService, clusterFirewallIntegrationService: ClusterFirewallIntegrationService);
    /**
     * Create a new K3s cluster
     */
    createCluster(dto: CreateClusterDto): Promise<InfrastructureOperationEntity>;
}
