import { IopConfig } from "../config/types";
export interface ConfigValidationError {
    type: "port_conflict" | "invalid_port" | "configuration_error" | "reserved_name";
    message: string;
    entries: string[];
    server: string;
    port?: number;
    suggestions?: string[];
}
export declare class ConfigValidator {
    private config;
    private static readonly RESERVED_NAMES;
    constructor(config: IopConfig);
    /**
     * Validates the entire configuration for common issues
     */
    validate(): ConfigValidationError[];
    /**
     * Checks for reserved command names being used as app/service names
     */
    private checkReservedNames;
    /**
     * Checks for port conflicts within the same project configuration
     */
    private checkIntraProjectPortConflicts;
    /**
     * Checks for invalid port configurations
     */
    private checkInvalidPorts;
    /**
     * Validates a port specification format
     */
    private isValidPortSpec;
    /**
     * Gets all entries from the services configuration
     */
    private getAllEntries;
    /**
     * Generates suggestions for resolving reserved name conflicts
     */
    private generateReservedNameSuggestions;
    /**
     * Generates suggestions for resolving port conflicts
     */
    private generatePortConflictSuggestions;
}
/**
 * Validates a iop configuration and returns any errors found
 */
export declare function validateConfig(config: IopConfig): ConfigValidationError[];
/**
 * Formats validation errors for display
 */
export declare function formatValidationErrors(errors: ConfigValidationError[]): string[];
