import { BinaryOperation, Variable } from '../models/Expressions';
import { Assignment } from '../models/Statements/Assignment';
import { Statement } from '../models/Statements/Statement';
import { Parser } from './Parser';
export declare class StatementReader {
    private parser;
    private expressionReader;
    enableGCodeArguments: boolean;
    enableStringInstructions: boolean;
    constructor(parser: Parser);
    read(): Statement;
    tryRead(): Statement | undefined;
    private readGCode;
    private readFieldBraceArguments;
    readMCode(): Statement;
    readGoto(): Statement;
    readDeclaration(): Statement;
    readFlowControlInstruction(): Statement;
    readAssignmentOrInstruction(): Statement;
    readExplicitAssignment(variable: Variable): Statement;
    readInlineAssignment(name: string): Statement;
    splitInlineAssignment(name: string): Statement;
    extractInlineAssignmentWithSign(binaryOperation: BinaryOperation): Assignment;
}
