/**
 * Archive Creator
 *
 * Creates tar.gz archives of skill packages and generates checksums
 * and registry entry metadata for marketplace publishing.
 *
 * @module cli/utils/archive-creator
 */
import type { SkillManifest } from './package-validator.js';
/** Registry entry shape for a published skill */
export interface RegistryEntry {
    id: string;
    type: 'skill';
    name: string;
    description: string;
    author: string;
    version: string;
    category: string;
    tags: string[];
    license: string;
    downloads: number;
    rating: number;
    createdAt: string;
    updatedAt: string;
    assets: {
        archive: string;
        checksum: string;
        sizeBytes: number;
    };
    metadata: {
        assignableRoles: string[];
        triggers: string[];
    };
}
/**
 * Creates a tar.gz archive of a skill directory.
 *
 * The archive is named `{id}-{version}.tar.gz` and placed in the outputDir.
 * Files are stored under a top-level directory named after the skill ID.
 *
 * @param skillDir - Path to the skill directory to archive
 * @param outputDir - Directory to write the archive to
 * @returns Absolute path to the created archive
 *
 * @example
 * ```ts
 * const archivePath = await createSkillArchive('./my-skill', './dist');
 * ```
 */
export declare function createSkillArchive(skillDir: string, outputDir: string): Promise<string>;
/**
 * Generates a SHA-256 checksum string for a file.
 *
 * @param filePath - Absolute path to the file
 * @returns Checksum in the format "sha256:{hex}"
 *
 * @example
 * ```ts
 * const checksum = generateChecksum('/path/to/archive.tar.gz');
 * // "sha256:abc123..."
 * ```
 */
export declare function generateChecksum(filePath: string): string;
/**
 * Generates a marketplace registry entry from skill metadata.
 *
 * Creates a complete registry entry suitable for inclusion in the
 * marketplace registry.json file.
 *
 * @param manifest - Parsed skill.json manifest
 * @param archivePath - Path to the tar.gz archive
 * @param checksum - Checksum string (sha256:hex)
 * @returns A complete registry entry
 *
 * @example
 * ```ts
 * const manifest = JSON.parse(readFileSync('skill.json', 'utf-8'));
 * const entry = generateRegistryEntry(manifest, './dist/my-skill-1.0.0.tar.gz', 'sha256:abc');
 * ```
 */
export declare function generateRegistryEntry(manifest: SkillManifest, archivePath: string, checksum: string): RegistryEntry;
//# sourceMappingURL=archive-creator.d.ts.map