import type { ByteSource, IOResult } from '../../io/types.ts'; import type { Session } from '../session/session.ts'; /** * Finalize a completed statement and seed $? for the next one. * * Every statement boundary must do the same dance: apply a VALUE * barrier so lazily finalized exit codes (grep's exitOnEmpty) are * concrete, then record the status the next statement's $? expands * to. Statement-list loops (program, subshell, brace group, if/loop/ * case bodies, function bodies, && / || / ; lists) call this instead * of hand-rolling the triple, so a new construct cannot forget it. */ export declare function finishStatement(stdout: ByteSource | null, io: IOResult, session: Session): Promise; /** * Exit status of an assignment-only statement. * * Bash: an assignment statement exits 0 unless expanding it ran * command substitutions, in which case the status of the last * substitution performed becomes the statement's own. */ export declare function assignmentStatus(session: Session, seqBefore: number): number; //# sourceMappingURL=statement.d.ts.map