import type { ClassifyResult, AssetEntry } from "./classify.js"; import type { RepoMetaExtraction } from "./repo-meta.js"; import type { JournalWriter } from "./journal.js"; declare const ARCHIVE_FORMAT: "zip-v1"; export interface ArchiveOptions { workspace: string; workspaceSlug: string; archivePath: string; classification: ClassifyResult; extractedRepos: RepoMetaExtraction[]; /** Raw `.env` text, or `null` if no .env exists. */ envText: string | null; /** Markdown text for `REVOKE-CHECKLIST.md`. */ revokeChecklist: string; /** Optional per-section revoke files for `manual-revoke-required/`. */ manualRevokeFiles: Map; /** Version string for `archive.yaml` (use package.json version). */ solosquadVersion: string; journal: JournalWriter; /** ISO timestamp for export_ts; defaults to now. */ nowIso?: string; } export interface ArchiveResult { path: string; size: number; manifestRows: number; redactedSecretKeys: string[]; } export declare function buildArchive(opts: ArchiveOptions): Promise; declare function mapAssetToArchivePath(entry: AssetEntry): string | null; interface ArchiveYamlDoc { schemaVersion: number; exportTs: string; solosquadVersion: string; workspaceSlug: string; createdBy: string; includedOrgs: string[]; archiveFormat: typeof ARCHIVE_FORMAT; } declare function renderArchiveYaml(d: ArchiveYamlDoc): string; export declare const _archiveInternals: { mapAssetToArchivePath: typeof mapAssetToArchivePath; renderArchiveYaml: typeof renderArchiveYaml; }; export {};