import { VNetEntity } from '../../../../src/modules/infrastructure/vnets/entities/vnet.entity';
import { VNetSubnetEntity } from '../../../../src/modules/infrastructure/vnets/entities/vnet-subnet.entity';
interface VNetRecord extends VNetEntity {
    subnets: VNetSubnetEntity[];
}
export declare class CliVnetRepository {
    private readonly logger;
    private readonly dataDir;
    private readonly dataFile;
    constructor();
    private ensureDataDir;
    private load;
    private persist;
    findActive(): Promise<VNetRecord | null>;
    findByProviderResourceId(providerResourceId: string): Promise<VNetRecord | null>;
    save(record: Partial<VNetRecord>): Promise<VNetRecord>;
    addSubnet(vnetId: string, subnet: Partial<VNetSubnetEntity>): Promise<VNetSubnetEntity>;
    attachServerToSubnet(subnetId: string, serverId: string): Promise<void>;
    attachServerToVNet(vnetProviderResourceId: string, serverId: string): Promise<void>;
    remove(id: string): Promise<void>;
}
export {};
