import type { Rule } from "./v2/types"; /** Rename one v1 permission action onto its v2 tool action. */ export declare function renameAction(action: string): string; /** * Translate a v1 agent `permission` value into an ordered v2 `Rule[]`. * * Accepts the two shapes the corvus corpus uses: `action: effect` and * `action: { resource: effect }` (one level deep). Returns `[]` for a missing * permission block so callers can omit `permissions` entirely. * * Nullish entry values are skipped, mirroring the host's `if (!rule) continue` * guard. Every other non-conforming value THROWS instead of being skipped — * deliberately stricter than the host, which silently drops `false`, `0`, and * `""`. A malformed permission block in the corvus corpus is a packaging bug, * and the registrar (task 07) decides whether to isolate the agent or abort. * * @throws Error when the block, an action value, or a resource effect is not one * of the accepted shapes. */ export declare function toV2Permissions(permission: unknown): Rule[]; //# sourceMappingURL=to-v2-permissions.d.ts.map