/**
 * Package Validator
 *
 * Validates skill packages before publishing to the marketplace.
 * Checks required files, skill.json schema, and metadata correctness.
 *
 * @module cli/utils/package-validator
 */
/** Result of a package validation */
export interface ValidationResult {
    /** Whether the package is valid for publishing */
    valid: boolean;
    /** Blocking errors that prevent publishing */
    errors: string[];
    /** Non-blocking warnings about best practices */
    warnings: string[];
}
/** Expected shape of skill.json */
export interface SkillManifest {
    id: string;
    name: string;
    description: string;
    version: string;
    category: string;
    assignableRoles: string[];
    tags: string[];
    skillType?: string;
    execution?: {
        type: string;
        script?: {
            file: string;
            interpreter: string;
            timeoutMs?: number;
        };
    };
    promptFile?: string;
    triggers?: string[];
    license?: string;
    author?: string;
}
/**
 * Validates a skill package directory for publishing.
 *
 * Checks:
 * - Required files exist (skill.json, execute.sh, instructions.md)
 * - skill.json is valid JSON with required fields
 * - ID is kebab-case
 * - Version is semver
 * - Category is from the allowed list
 * - assignableRoles and tags are non-empty arrays
 *
 * @param skillDir - Absolute or relative path to the skill directory
 * @returns Validation result with errors and warnings
 *
 * @example
 * ```ts
 * const result = validatePackage('/path/to/my-skill');
 * if (!result.valid) console.error(result.errors);
 * ```
 */
export declare function validatePackage(skillDir: string): ValidationResult;
//# sourceMappingURL=package-validator.d.ts.map