export declare enum ErrorCode { INVALID_SUBNET_NAME = "E1001", INVALID_VLAN_ID = "E1002", INVALID_DEVICE_COUNT = "E1003", INVALID_IP_ADDRESS = "E1004", INVALID_PLAN_NAME = "E1005", INVALID_FILENAME = "E1006", INVALID_CIDR = "E1007", FILE_NOT_FOUND = "E2001", FILE_READ_ERROR = "E2002", FILE_WRITE_ERROR = "E2003", FILE_PARSE_ERROR = "E2004", INVALID_FILE_FORMAT = "E2005", PATH_TRAVERSAL_DETECTED = "E2006", EXPORT_ERROR = "E2007", IMPORT_ERROR = "E2008", UNSUPPORTED_FORMAT = "E2009", EMPTY_SUBNET_LIST = "E3001", CALCULATION_ERROR = "E3002", NETWORK_ADDRESS_MISSING = "E3003", INVALID_SUBNET_SIZE = "E3004", USER_CANCELLED = "E4001", NO_PLAN_LOADED = "E4002", NO_SUBNETS_DEFINED = "E4003", PLAN_NOT_CALCULATED = "E4004", UNKNOWN_ERROR = "E5000" } export declare class NetworkPlanError extends Error { readonly code: ErrorCode; readonly context?: Record | undefined; constructor(message: string, code: ErrorCode, context?: Record | undefined); getUserMessage(): string; getDetails(): Record; } export declare class ValidationError extends NetworkPlanError { constructor(message: string, code: ErrorCode, context?: Record); } export declare class FileOperationError extends NetworkPlanError { readonly filepath?: string | undefined; constructor(message: string, code: ErrorCode, filepath?: string | undefined, context?: Record); } export declare class CalculationError extends NetworkPlanError { constructor(message: string, code: ErrorCode, context?: Record); } export declare class UserCancellationError extends NetworkPlanError { constructor(message?: string); } export declare const ErrorFactory: { invalidSubnetName: (name: string) => ValidationError; invalidVlanId: (vlanId: number | string) => ValidationError; invalidDeviceCount: (count: number | string) => ValidationError; invalidIpAddress: (ip: string) => ValidationError; invalidPlanName: (name: string) => ValidationError; invalidFilename: (filename: string, reason: string) => ValidationError; fileNotFound: (filepath: string) => FileOperationError; fileReadError: (filepath: string, originalError?: Error) => FileOperationError; fileWriteError: (filepath: string, originalError?: Error) => FileOperationError; fileParseError: (filepath: string, originalError?: Error) => FileOperationError; invalidFileFormat: (filepath: string, reason: string) => FileOperationError; pathTraversalDetected: (filepath: string) => FileOperationError; exportError: (format: string, filepath: string, originalError?: Error) => FileOperationError; importError: (format: string, filepath: string, originalError?: Error) => FileOperationError; unsupportedFormat: (format: string) => FileOperationError; emptySubnetList: () => CalculationError; networkAddressMissing: (subnetName: string) => CalculationError; userCancelled: () => UserCancellationError; noPlanLoaded: () => NetworkPlanError; noSubnetsDefined: () => NetworkPlanError; planNotCalculated: () => NetworkPlanError; }; export declare function isNetworkPlanError(error: unknown): error is NetworkPlanError; export declare function isValidationError(error: unknown): error is ValidationError; export declare function isFileOperationError(error: unknown): error is FileOperationError; export declare function isUserCancellationError(error: unknown): error is UserCancellationError;