import type { RunArtifact } from "./types.js"; export interface LockFileToolEntry { name: string; description?: string; inputSchema: object; } export interface LockFilePromptEntry { name: string; description?: string; arguments?: object[]; } export interface LockFileResourceEntry { uri: string; name: string; description?: string; mimeType?: string; } export interface LockFileServerEntry { targetId: string; lockedAt: string; serverName?: string; serverVersion?: string; tools: LockFileToolEntry[]; prompts: LockFilePromptEntry[]; resources: LockFileResourceEntry[]; } export interface LockFile { version: 1; lockedAt: string; servers: LockFileServerEntry[]; } export interface LockDriftEntry { targetId: string; category: "tools" | "prompts" | "resources"; name: string; change: string; } export interface LockVerifyResult { targetId: string; passed: boolean; drift: LockDriftEntry[]; } export declare function defaultLockPath(cwd?: string): string; export declare function readLockFile(lockPath?: string): Promise; export declare function writeLockFile(lockFile: LockFile, lockPath?: string): Promise; export declare function buildServerLockEntry(artifact: RunArtifact): LockFileServerEntry; export declare function verifyAgainstLock(lockEntry: LockFileServerEntry, artifact: RunArtifact): LockVerifyResult; export declare function mergeLockFile(existing: LockFile, newEntries: LockFileServerEntry[]): LockFile;