/// import ProcessEnv = NodeJS.ProcessEnv; import { AST_ParameterExpansion } from 'bash-parser'; import { TextReader, TextScanner } from './TextReader'; import TextWriter from './TextWriter'; export interface ExpandValueContext { cwd: string; predefined: ProcessEnv; exported: ProcessEnv; internal: ProcessEnv; temporal: ProcessEnv; writer: TextWriter; } export declare function createContext({ cwd, predefined, exported, internal, temporal, }: { cwd: string; predefined?: ProcessEnv; exported?: ProcessEnv; internal?: ProcessEnv; temporal?: ProcessEnv; }): ExpandValueContext; interface ExpandValueState { text: string; valueHeadPos: number; scanner: TextScanner; reader: TextReader; quote: QuoteType; } export declare function expandValue(text: string, valueHeadPos: number, paramExpansions: AST_ParameterExpansion[] | null, context: ExpandValueContext): string; export declare function solveParamExpansion(param: string, context: ExpandValueContext): string; export declare function createParamHandler(paramExpansions: AST_ParameterExpansion[] | null, { reader, scanner }: ExpandValueState, context: ExpandValueContext): () => boolean; export declare function createQuoteHandler(state: ExpandValueState, { writer }: ExpandValueContext): () => boolean; export declare function createBackslashHandler({ text, valueHeadPos, reader, scanner }: ExpandValueState, { writer }: ExpandValueContext): () => boolean; export declare function paramExpansionReader(list: AST_ParameterExpansion[]): Generator; export declare function readHexDigits(text: string, i: number, maxDigits: number): { digits: number; val: number; }; export {};