export declare const policyPackage = "@runx/policy"; export interface LocalAdmissionSkill { readonly name: string; readonly source: { readonly type: string; readonly timeoutSeconds?: number; readonly sandbox?: LocalAdmissionSandbox; }; readonly auth?: unknown; readonly runtime?: unknown; } export interface LocalAdmissionSandbox { readonly profile: "readonly" | "workspace-write" | "network" | "unrestricted-local-dev"; readonly cwdPolicy?: "skill-directory" | "workspace" | "custom"; readonly envAllowlist?: readonly string[]; readonly network?: boolean; readonly writablePaths?: readonly string[]; } export interface LocalAdmissionOptions { readonly allowedSourceTypes?: readonly string[]; readonly maxTimeoutSeconds?: number; readonly connectedGrants?: readonly LocalAdmissionGrant[]; readonly skipConnectedAuth?: boolean; readonly approvedSandboxEscalation?: boolean; readonly skipSandboxEscalation?: boolean; } export interface LocalAdmissionGrant { readonly grant_id: string; readonly provider: string; readonly scopes: readonly string[]; readonly status?: "active" | "revoked"; } export interface RetryAdmissionRequest { readonly stepId: string; readonly retry?: { readonly maxAttempts: number; }; readonly mutating?: boolean; readonly idempotencyKey?: string; } export interface ChainScopeGrant { readonly grant_id?: string; readonly scopes: readonly string[]; } export interface ChainScopeAdmissionRequest { readonly stepId: string; readonly requestedScopes: readonly string[]; readonly grant: ChainScopeGrant; } export type AdmissionDecision = { readonly status: "allow"; readonly reasons: readonly string[]; } | { readonly status: "deny"; readonly reasons: readonly string[]; }; export type ChainScopeAdmissionDecision = { readonly status: "allow"; readonly reasons: readonly string[]; readonly stepId: string; readonly requestedScopes: readonly string[]; readonly grantedScopes: readonly string[]; readonly grantId?: string; } | { readonly status: "deny"; readonly reasons: readonly string[]; readonly stepId: string; readonly requestedScopes: readonly string[]; readonly grantedScopes: readonly string[]; readonly grantId?: string; }; export declare function admitLocalSkill(skill: LocalAdmissionSkill, options?: LocalAdmissionOptions): AdmissionDecision; export declare function admitRetryPolicy(request: RetryAdmissionRequest): AdmissionDecision; export declare function admitChainStepScopes(request: ChainScopeAdmissionRequest): ChainScopeAdmissionDecision; export { admitSandbox, normalizeSandboxDeclaration, sandboxRequiresApproval, type RequiredSandboxDeclaration, type SandboxAdmissionDecision, type SandboxDeclaration, type SandboxProfile, } from "./sandbox.js";