import { Dependencies } from './types.js';
import { IntegrationRef, ParsedIntegration } from '../integrations/types.js';
import { PluginRef, ParsedPlugin } from '../plugins/types.js';
import { ValidationError } from './types.js';
export declare class IntegrationParser {
    /**
     * Parse an integration version string into its components
     * Examples:
     * - "slack@1.2.0" -> { name: 'slack', version: '1.2.0', fullName: 'slack' }
     * - "myworkspace/slack@latest" -> { workspace: 'myworkspace', name: 'slack', version: 'latest', fullName: 'myworkspace/slack' }
     */
    static parseIntegrationRef(versionString: string): IntegrationRef;
    /**
     * Parse integrations from dependencies object
     */
    static parseIntegrations(dependencies: Dependencies): {
        integrations: ParsedIntegration[];
        errors: ValidationError[];
    };
    /**
     * Check for duplicate integration names with identical configs (different aliases pointing to same integration)
     */
    static checkDuplicates(integrations: ParsedIntegration[]): ValidationError[];
}
export declare class PluginParser {
    /**
     * Parse a plugin version string into its components
     * Examples:
     * - "hitl@1.3.0" -> { name: 'hitl', version: '1.3.0', fullName: 'hitl' }
     * - "myworkspace/hitl@1.0.0" -> error (no workspace prefix)
     */
    static parsePluginRef(versionString: string): PluginRef;
    /**
     * Parse plugins from dependencies object
     */
    static parsePlugins(dependencies: Dependencies): {
        plugins: ParsedPlugin[];
        errors: ValidationError[];
    };
    /**
     * Validate that plugin dependency integrationAlias values reference integrations
     * that are actually declared in dependencies.integrations
     */
    static validateDependencyReferences(dependencies: Dependencies): ValidationError[];
    /**
     * Check for duplicate plugin names (different aliases pointing to same plugin)
     */
    static checkDuplicates(plugins: ParsedPlugin[]): ValidationError[];
}
//# sourceMappingURL=dependencies-parser.d.ts.map