import { type ExecutionGrantRequest, type ResolvedExecutionGrant } from "./execution-grants.js"; import type { ResolvedSkillSelection } from "../types/skill-selection.js"; import type { SkillBundleEntry } from "./skill-bundle.js"; import { type SelectionResolverOptions } from "./selection-resolver.js"; import { type SelectedSecretBindings, type SelectedSecretsClient } from "./execution-secrets.js"; export interface ResolvedSelectedRun { selection: ResolvedSkillSelection; profileId: string; kind: "instruction" | "executable"; entries: SkillBundleEntry[]; manifest: Record; packageJson: Record; cacheDir: string; } export declare function resolveSelectedRun(spec: string, profileId: string, options?: SelectionResolverOptions): Promise; export interface SelectedLocalRunOptions { args?: string[]; input?: unknown; cwd?: string; timeoutMs?: number; /** Only explicitly supplied environment values are available to declared secret references. */ env?: Record; /** Explicit value-free vault grants; mutually exclusive with env. */ secretBindings?: SelectedSecretBindings; /** SDK injection seam. The default uses the independently configured Secrets SDK. */ createSecretsClient?: () => SelectedSecretsClient; /** Disable network authorization for explicit cached execution; declared secrets then need caller bindings. */ sharedExecutionGrants?: boolean; /** SDK seam for current shared authorization; responses still undergo exact binding validation. */ resolveExecutionGrant?: (request: ExecutionGrantRequest) => Promise; } export declare function prepareSelectedSecretBindings(selected: ResolvedSelectedRun, cwd?: string): Promise; export declare function executeSelectedLocal(selected: ResolvedSelectedRun, options?: SelectedLocalRunOptions): Promise<{ exitCode: number; stdout: string; stderr: string; error?: string; secretBinding?: { schema: "hasna.skills-secret-bindings.v1"; selection: Pick & { profileId: string; }; consumer: { stationId: string; workspaceDirectory: string; }; secretsAuthority: string; bindings: Record; } | undefined; executionGrant?: { policyRevision: string; grantId: string; } | undefined; selection: ResolvedSkillSelection; target: "local"; runtime: any; inputDigest: string; runDirectory: string; }>;