import type { AvailableBlock } from '../../utils/block-parser.js'; import type { AssignedBlock, Subnet } from '../models/network-plan.js'; import type { SubnetInfo } from './subnet-calculator.js'; export interface SubnetAllocation { subnetIndex: number; subnetInfo: SubnetInfo; blockIndex: number; networkAddress: string; } export interface BlockUtilization { blockIndex: number; block: AvailableBlock; allocatedSubnets: SubnetAllocation[]; usedCapacity: number; remainingCapacity: number; utilizationPercent: number; } export interface AutoFitResult { success: boolean; allocations: SubnetAllocation[]; blockUtilizations: BlockUtilization[]; unallocatedSubnets: number[]; errors: string[]; warnings: string[]; } export declare function autoFitSubnets(subnets: Subnet[], blocks: AvailableBlock[]): AutoFitResult; export declare function convertToAssignedBlocks(blocks: AvailableBlock[]): AssignedBlock[]; export declare function createBlockIndexMap(availableBlocks: AvailableBlock[], assignedBlocks: AssignedBlock[]): Map;