import type { SkillPack } from "./contracts/types.js"; import type { OrgxSkillPackOverrides } from "./agent-suite.js"; export type SkillPackPolicy = { frozen: boolean; pinnedChecksum: string | null; }; export type SkillPackPolicyDiff = { field: "policy.frozen" | "policy.pinnedChecksum"; before: boolean | string | null; after: boolean | string | null; }; export type SkillPackPolicyAuditEntry = { id: string; changedAt: string; changedBy: string; action: "policy.update" | "policy.rollback"; reason: string | null; rollbackOfAuditId: string | null; diff: SkillPackPolicyDiff[]; beforePolicy: SkillPackPolicy; afterPolicy: SkillPackPolicy; }; export type SkillPackState = { version: 1; updatedAt: string; lastCheckedAt: string | null; lastError: string | null; etag: string | null; policy: SkillPackPolicy; pack: { name: string; version: string; checksum: string; updated_at: string | null; } | null; remote: { name: string; version: string; checksum: string; updated_at: string | null; } | null; overrides: OrgxSkillPackOverrides | null; audit: { entries: SkillPackPolicyAuditEntry[]; }; }; export declare function readSkillPackState(input?: { openclawDir?: string; }): SkillPackState; export declare function writeSkillPackState(state: SkillPackState, input?: { openclawDir?: string; }): void; export declare function updateSkillPackPolicy(input: { openclawDir?: string; frozen?: boolean; pinnedChecksum?: string | null; pinToCurrent?: boolean; clearPin?: boolean; changedBy?: string; reason?: string; }): SkillPackState; export declare function rollbackSkillPackPolicy(input?: { openclawDir?: string; auditId?: string; changedBy?: string; reason?: string; }): SkillPackState; export declare function toOrgxSkillPackOverrides(input: { pack: SkillPack; etag: string | null; }): { overrides: OrgxSkillPackOverrides; validationErrors: string[]; }; export declare function refreshSkillPackState(input: { getSkillPack: (args: { name?: string; ifNoneMatch?: string | null; }) => Promise<{ ok: true; notModified: true; etag: string | null; pack: null; } | { ok: true; notModified: false; etag: string | null; pack: SkillPack; } | { ok: false; status: number; error: string; }>; packName?: string; openclawDir?: string; force?: boolean; }): Promise<{ state: SkillPackState; changed: boolean; }>;