import type { PresentationSpec } from '../presentations/presentations';
import type { FeatureModuleSpec } from './types';
export type FeatureValidationLevel = 'error' | 'warning' | 'info';
export interface FeatureValidationIssue {
    level: FeatureValidationLevel;
    message: string;
    path?: string;
    context?: Record<string, unknown>;
}
export interface FeatureValidationResult {
    valid: boolean;
    issues: FeatureValidationIssue[];
}
export declare class FeatureValidationError extends Error {
    readonly issues: FeatureValidationIssue[];
    constructor(message: string, issues: FeatureValidationIssue[]);
}
/** Ensure declared target requirements exist on the provided descriptors. */
export declare function validateFeatureTargetsV2(feature: FeatureModuleSpec, descriptors: PresentationSpec[]): boolean;
export declare function validateFeatureSpec(spec: FeatureModuleSpec): FeatureValidationResult;
export declare function assertFeatureSpecValid(spec: FeatureModuleSpec): void;
