import { type RepositoryPackageFile, type RepositoryPackageManifest, type RepositoryPackageSnapshot } from './repositoryPackage.js'; type Skill = RepositoryPackageManifest['skills'][number]; type Blob = RepositoryPackageSnapshot['blobs'][number]; export interface RepositorySourceResolutionPlan { schema: 'dharma.repository-source-resolution/v1'; organizationId: string; workspaceId: string; repositoryBindingId: string; repositoryAgentId: string; policyGenerationId: string; policyHash: string; baselineSnapshotHash: string; localSnapshotHash: string; publishedFingerprint: string; publishedInventoryHash: string; createdAt: string; expiresAt: string; conflicts: Array<{ kind: 'file' | 'skill'; path: string; baselineHash: string; localHash: string; publishedHash: string; }>; } type SourceInput = { local: RepositoryPackageSnapshot; previousLocal: RepositoryPackageSnapshot | null; published: PublishedRepositorySource | null; }; export type RepositorySourceResolution = { plan: RepositorySourceResolutionPlan; planHash: string; now?: Date; }; export declare class RepositorySourceConflictError extends Error { readonly code = "repository_source_conflict"; constructor(kind: string, path: string); } export interface PublishedRepositorySource { files: RepositoryPackageFile[]; skills: Skill[]; blobs: Blob[]; sourceFingerprint: string; } export declare function planRepositorySourceResolution(input: SourceInput & { now?: Date; }): { plan: RepositorySourceResolutionPlan; planHash: string; }; export declare function reconcileRepositorySourceSnapshot(input: SourceInput & { resolution?: RepositorySourceResolution; }): RepositoryPackageSnapshot; export {}; //# sourceMappingURL=repositorySourceReconciliation.d.ts.map