import { type ByteSource, IOResult } from '../../io/types.ts'; import type { CallStack } from '../../shell/call_stack.ts'; import { type TSNodeLike } from '../../shell/types.ts'; import { type ExecuteFn } from '../expand/node.ts'; import type { Namespace } from '../mount/namespace/namespace.ts'; import type { MountRegistry } from '../mount/registry.ts'; import type { Session } from '../session/session.ts'; import { ExecutionNode } from '../types.ts'; type Result = [ByteSource | null, IOResult, ExecutionNode]; export declare function expandArrayItems(arrayNode: TSNodeLike, session: Session, executeFn: ExecuteFn, registry: MountRegistry, namespace: Namespace, callStack: CallStack | null): Promise; /** * Execute one top-level variable assignment (`a=1`, `a[i]+=v`). * * Every spelling — scalar, array literal, subscript, append — is * computed with bash's own mechanics on a copy of the held value and * then stored through the session door, which owns the admission gate * and the scalar/array invariant. */ export declare function executeAssignment(node: TSNodeLike, session: Session, executeFn: ExecuteFn, registry: MountRegistry, namespace: Namespace, callStack: CallStack | null): Promise; export {}; //# sourceMappingURL=assignment.d.ts.map