
import { Record } from "../../fable_modules/fable-library-js.5.0.0-rc.1/Types.js";
import { record_type, bool_type, int32_type, string_type } from "../../fable_modules/fable-library-js.5.0.0-rc.1/Reflection.js";

export class Error$ extends Record {
    constructor(FileName, StartLine, StartColumn, EndLine, EndColumn, Message, IsWarning) {
        super();
        this.FileName = FileName;
        this.StartLine = (StartLine | 0);
        this.StartColumn = (StartColumn | 0);
        this.EndLine = (EndLine | 0);
        this.EndColumn = (EndColumn | 0);
        this.Message = Message;
        this.IsWarning = IsWarning;
    }
}

export function Error$_$reflection() {
    return record_type("Fable.Standalone.Error", [], Error$, () => [["FileName", string_type], ["StartLine", int32_type], ["StartColumn", int32_type], ["EndLine", int32_type], ["EndColumn", int32_type], ["Message", string_type], ["IsWarning", bool_type]]);
}

export class Range$ extends Record {
    constructor(StartLine, StartColumn, EndLine, EndColumn) {
        super();
        this.StartLine = (StartLine | 0);
        this.StartColumn = (StartColumn | 0);
        this.EndLine = (EndLine | 0);
        this.EndColumn = (EndColumn | 0);
    }
}

export function Range$_$reflection() {
    return record_type("Fable.Standalone.Range", [], Range$, () => [["StartLine", int32_type], ["StartColumn", int32_type], ["EndLine", int32_type], ["EndColumn", int32_type]]);
}

export class Completion extends Record {
    constructor(Name, Glyph) {
        super();
        this.Name = Name;
        this.Glyph = Glyph;
    }
}

export function Completion_$reflection() {
    return record_type("Fable.Standalone.Completion", [], Completion, () => [["Name", string_type], ["Glyph", string_type]]);
}

