import type { SessionView } from '../../ops/types.ts'; import type { CallStack } from '../../shell/call_stack.ts'; import type { CondNode } from '../executor/builtins/condition/index.ts'; import type { TSNodeLike } from '../../shell/types.ts'; import type { ExecuteFn } from '../expand/node.ts'; import type { Session } from '../session/session.ts'; /** * Expand a test_command `[ ... ]` into flat argv, tokens in source order. * * tree-sitter nests `-a`/`-o` chains unpredictably, so the shape is * discarded: every operator token and expanded operand is re-serialized * and the flat bash arity rules take over. Unquoted expansions * word-split like bash (an empty one drops out of argv). */ export declare function expandTestExpr(node: TSNodeLike, session: Session, executeFn: ExecuteFn, cs: CallStack | null, view?: SessionView): Promise; /** Build a structured condition tree from a `[[ ... ]]` node. */ export declare function expandDoubleBracket(node: TSNodeLike, session: Session, executeFn: ExecuteFn, cs: CallStack | null, view?: SessionView): Promise; //# sourceMappingURL=test_expr.d.ts.map