import { Assignment, StatementVisitor, Declaration, GCode, Goto, Instruction, FlowControlInstruction, MCode } from '../models';
import { ExpressionWriter } from './ExpressionWriter';
import { TextWriter } from './TextWriter';
export declare class StatementWriter implements StatementVisitor {
    private stream;
    expressionWriter: ExpressionWriter;
    constructor(stream: TextWriter);
    onAssignment(assignment: Assignment): void;
    onDeclaration(declaration: Declaration): void;
    onGCode(gCode: GCode): void;
    onGoto(gotoStatement: Goto): void;
    onInstruction(instruction: Instruction): void;
    onFlowControlInstruction(instruction: FlowControlInstruction): void;
    onMCode(mCode: MCode): void;
    private writeValueIfDefined;
    private variableTypeToString;
}
