import * as VScript from "vscript";
export declare const lift: {
    readonly Generator: (kwl: string | null, socket: VScript.VSocket) => Generator | null;
};
export declare const lower: {
    readonly Generator: (ref: Generator | null) => string | null;
};
export declare class Generator {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get used_config(): VScript.rKeyword<number, number, Generator>;
    /**
      time to write into the hardware. At this pointer the hardware gets
      informed to perform the switch
    */
    get write_hw(): VScript.rKeyword<number, number, Generator>;
    /**
      switching time
    */
    get calculated_sw_time(): VScript.rKeyword<number, number, Generator>;
    /**
      switching time
    */
    get interrupt_sw_time(): VScript.rKeyword<number, number, Generator>;
    /**
      difference between calculated and interrupt time
    */
    get delta_calc_irq(): VScript.rKeyword<number, number, Generator>;
    /**
      difference between write hardware and interrupt time
    */
    get delta_write_hw_irq(): VScript.rKeyword<number, number, Generator>;
}
export declare class GeneratorAsTableRow extends Generator {
    readonly enclosing_table: VScript.StronglyTypedTable<Generator>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<Generator>);
}
export declare class All {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get start_generator(): VScript.StronglyTypedTable<Generator, VScript.TableRowView<Generator>>;
}
