import { Manifest, type SandboxConcurrencyLimits, type Entry, type Mount, type TypedMount } from '@openai/agents-core/sandbox'; import { deserializeManifest, mergeManifestDelta, mergeManifestEntryDelta, serializeManifestRecord } from '@openai/agents-core/sandbox/internal'; import type { RemoteManifestWriter } from './types'; import type { RemoteSandboxCredentialPathResolver, RemoteSandboxPathResolver } from './types'; export { deserializeManifest, mergeManifestDelta, mergeManifestEntryDelta, serializeManifestRecord, }; export declare function cloneManifestWithRoot(manifest: Manifest, root: string): Manifest; export declare function cloneManifestWithoutMountEntries(manifest: Manifest): Manifest; export declare function manifestWithMaterializedEnvironmentReferences(manifest: Manifest, environment: Record): Manifest; export declare function manifestContainsLocalSource(manifest: Manifest): boolean; export declare function entryContainsLocalSource(entry: Entry): boolean; export type ManifestMaterializationOptions = { materializeMount?: (absolutePath: string, entry: Mount | TypedMount, context: ManifestMountMaterializationContext) => Promise; applyMetadata?: (absolutePath: string, entry: Entry) => Promise; concurrencyLimits?: SandboxConcurrencyLimits; localSourceBaseDir?: string; localSourceGrants?: Manifest['extraPathGrants']; resolvePath?: RemoteSandboxPathResolver; logicalPath?: string; validateManifest?: (manifest: Manifest, environment: Record) => void; preparedMounts?: readonly PreparedManifestMount[]; resolveCredentialPath?: RemoteSandboxCredentialPathResolver; mountEnvironmentOverrides?: Readonly>; }; export type PreparedManifestMount = { logicalPath: string; absolutePath: string; entry: Mount | TypedMount; credentialExposureAcknowledged: boolean; broadCredentialExposureAcknowledged: boolean; environment?: Readonly>; revalidateMountAuthority: () => Promise; }; export type ManifestMountMaterializationContext = { environment?: Readonly>; allowAmbientCredentials?: boolean; revalidateMountAuthority?: () => Promise; }; export type MaterializedManifestState = { manifest: Manifest; environment: Record; }; export type MaterializedManifestEntryState = { manifest: Manifest; environment?: Record; }; export type PreparedMaterializedManifestTransition = { previousManifest: Manifest; deltaManifest: Manifest; nextManifest: Manifest; nextEnvironment: Record; materializedManifest: Manifest; preparedMounts: readonly PreparedManifestMount[]; }; export type ManifestEntryMaterializer = (writer: RemoteManifestWriter, absolutePath: string, entry: Entry, providerLabel: string, options: TOptions) => Promise; export declare function applyInlineManifestEntryToState(state: MaterializedManifestEntryState, path: string, entry: Entry, providerLabel: string, writer: RemoteManifestWriter, resolvePath: RemoteSandboxPathResolver, options?: ManifestMaterializationOptions): Promise; export declare function applyInlineManifestToState(state: MaterializedManifestState, manifest: Manifest, providerLabel: string, writer: RemoteManifestWriter, resolvePath: RemoteSandboxPathResolver, options?: ManifestMaterializationOptions): Promise; export declare function materializeInlineManifest(writer: RemoteManifestWriter, manifest: Manifest, providerLabel: string, resolvePath: RemoteSandboxPathResolver, options?: ManifestMaterializationOptions): Promise; export declare function applyMaterializedManifestEntryToState(state: MaterializedManifestEntryState, path: string, entry: Entry, providerLabel: string, writer: RemoteManifestWriter, resolvePath: RemoteSandboxPathResolver, materializeEntry: ManifestEntryMaterializer, options: TOptions): Promise; export declare function applyMaterializedManifestToState(state: MaterializedManifestState, manifest: Manifest, providerLabel: string, writer: RemoteManifestWriter, resolvePath: RemoteSandboxPathResolver, materializeEntry: ManifestEntryMaterializer, options: TOptions, preparedTransition?: PreparedMaterializedManifestTransition): Promise; export declare function prepareMaterializedManifestTransition(state: MaterializedManifestState, manifest: Manifest, options: TOptions, resolvePath: RemoteSandboxPathResolver): Promise; export declare function prepareManifestMounts(manifest: Manifest, resolvePath: RemoteSandboxPathResolver, options?: { credentialBoundaryManifest?: Manifest; environment?: Record; resolveCredentialPath?: RemoteSandboxCredentialPathResolver; }): Promise; export declare function materializeManifestEntries(writer: RemoteManifestWriter, manifest: Manifest, providerLabel: string, resolvePath: RemoteSandboxPathResolver, materializeEntry: ManifestEntryMaterializer, options: TOptions): Promise; export declare function runLimited(items: T[] | AsyncIterable, limit: number, fn: (item: T) => Promise): Promise; export declare function resolveManifestEntryConcurrency(limits?: SandboxConcurrencyLimits): number; export declare function resolveLocalDirFileConcurrency(limits?: SandboxConcurrencyLimits): number; export declare function materializeInlineManifestEntry(writer: RemoteManifestWriter, absolutePath: string, entry: Entry, providerLabel: string, options?: ManifestMaterializationOptions): Promise; export declare function resolveMaterializedChildPath(parentAbsolutePath: string, childPath: string, options: ManifestMaterializationOptions): Promise<{ absolutePath: string; logicalPath?: string; }>;