import type { SecretReference } from "./types.js"; import type { SecretRegistry } from "./SecretRegistry.js"; export interface RuntimeCommandSecret { activate?: () => RuntimeCommandSecretLease; description: string; environment: Readonly>; environmentVariables?: readonly string[]; id: string; trustedLoopbackPorts?: readonly number[]; } export interface RuntimeCommandSecretLease { environment: Readonly>; release(): void; } export interface ActivatedCommandSecrets { environment: NodeJS.ProcessEnv; release(): void; } export declare class SessionSecretContext { #private; constructor(registry: SecretRegistry, sessionSecretIds?: readonly string[], projectSecretIds?: readonly string[]); attach(secretId: string, scope?: "project" | "session"): void; detach(secretId: string, scope?: "project" | "session"): boolean; ids(): readonly string[]; projectIds(): readonly string[]; sessionIds(): readonly string[]; references(): readonly SecretReference[]; environmentVariables(): readonly string[]; resolve(secretIds: readonly string[]): NodeJS.ProcessEnv; setRuntimeSecret(secret: RuntimeCommandSecret): void; removeRuntimeSecret(secretId: string): boolean; activate(secretIds: readonly string[] | undefined): ActivatedCommandSecrets; trustedLoopbackPorts(secretIds: readonly string[] | undefined): readonly number[]; }