import * as VScript from "vscript";
import * as _AudioTransmitter from "./AudioTransmitter";
import * as _MipmapTransmitter from "./MipmapTransmitter";
import * as _VideoTransmitter from "./VideoTransmitter";
export declare const lift: {
    readonly Lanes: (kwl: string | null, socket: VScript.VSocket) => Lanes | null;
    readonly GeneratorSlotAudio: (kwl: string | null, socket: VScript.VSocket) => GeneratorSlotAudio | null;
    readonly GeneratorSlotReTransmitter: (kwl: string | null, socket: VScript.VSocket) => GeneratorSlotReTransmitter | null;
    readonly GeneratorSlotMultiTransmitter: (kwl: string | null, socket: VScript.VSocket) => GeneratorSlotMultiTransmitter | null;
    readonly GeneratorSlotVideo: (kwl: string | null, socket: VScript.VSocket) => GeneratorSlotVideo | null;
    readonly HWStatusRam: (kwl: string | null, socket: VScript.VSocket) => HWStatusRam | null;
    readonly HWStatusPort: (kwl: string | null, socket: VScript.VSocket) => HWStatusPort | null;
    readonly HWStatus: (kwl: string | null, socket: VScript.VSocket) => HWStatus | null;
};
export declare const lower: {
    readonly Lanes: (ref: Lanes | null) => string | null;
    readonly GeneratorSlotAudio: (ref: GeneratorSlotAudio | null) => string | null;
    readonly GeneratorSlotReTransmitter: (ref: GeneratorSlotReTransmitter | null) => string | null;
    readonly GeneratorSlotMultiTransmitter: (ref: GeneratorSlotMultiTransmitter | null) => string | null;
    readonly GeneratorSlotVideo: (ref: GeneratorSlotVideo | null) => string | null;
    readonly HWStatusRam: (ref: HWStatusRam | null) => string | null;
    readonly HWStatusPort: (ref: HWStatusPort | null) => string | null;
    readonly HWStatus: (ref: HWStatus | null) => string | null;
};
export declare class HWStatus {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      Highest FIFO level. Cleaned up by pushing the Clear Button
    */
    get max_usedw(): VScript.rKeyword<number, number, HWStatus>;
    /**
      Highest FIFO level since last read.
    */
    get max_usedw_last_read(): VScript.rKeyword<number, number, HWStatus>;
    /**
      accumulates the occurrence of the overflow event. Cleaned up by pushing
      the Clear Button
    */
    get overflow(): VScript.rKeyword<number, number, HWStatus>;
    get error_irq_counter(): VScript.rKeyword<number, number, HWStatus>;
    /**
      Clear the statistics
    */
    get clear_statistic(): VScript.wKeyword<"Click", "Click", HWStatus>;
    /**
      reset error counter
    */
    get reset_irq_counter(): VScript.wKeyword<"Click", "Click", HWStatus>;
}
export declare class HWStatusPort {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      Highest FIFO level. Cleaned up by pushing the Clear Button
    */
    get max_usedw(): VScript.rKeyword<number, number, HWStatusPort>;
    /**
      Highest FIFO level since last read.
    */
    get max_usedw_last_read(): VScript.rKeyword<number, number, HWStatusPort>;
    /**
      accumulates the occurrence of the overflow event. Cleaned up by pushing
      the Clear Button
    */
    get overflow(): VScript.rKeyword<number, number, HWStatusPort>;
    /**
      Clear the statistics
    */
    get clear_statistic(): VScript.wKeyword<"Click", "Click", HWStatusPort>;
}
export declare class HWStatusRam {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      accumulates the occurrence of the overflow event. Cleaned up by pushing
      the Clear Button
    */
    get data_ram_overflow(): VScript.rKeyword<number, number, HWStatusRam>;
    /**
      accumulates the occurrence of the full event. Cleaned up by pushing the
      Clear Button
    */
    get packet_queue_full(): VScript.rKeyword<number, number, HWStatusRam>;
    /**
      Clear the statistics
    */
    get clear_statistic(): VScript.wKeyword<"Click", "Click", HWStatusRam>;
}
export declare class GeneratorSlotVideo {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get transmitter(): VScript.rKeyword<string | null, _VideoTransmitter.SingleVideoTransmitter | null, GeneratorSlotVideo>;
    get trans_idx(): VScript.rKeyword<number, number, GeneratorSlotVideo>;
    get used_bandwidth(): VScript.rKeyword<number, number, GeneratorSlotVideo>;
    get related_to_meta(): VScript.rKeyword<number, number, GeneratorSlotVideo>;
    get is_meta(): VScript.rKeyword<boolean, boolean, GeneratorSlotVideo>;
    get router_hw_status(): HWStatus;
    get router_hw_status_out(): HWStatusPort;
    get hw_status(): HWStatusRam;
}
export declare class GeneratorSlotVideoAsTableRow extends GeneratorSlotVideo {
    readonly enclosing_table: VScript.StronglyTypedTable<GeneratorSlotVideo>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<GeneratorSlotVideo>);
}
export declare class GeneratorSlotMultiTransmitter {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get trans_idx(): VScript.rKeyword<number, number, GeneratorSlotMultiTransmitter>;
    get transmitter(): VScript.rKeyword<string | null, _MipmapTransmitter.SingleMipMap | null, GeneratorSlotMultiTransmitter>;
    get used_bandwidth(): VScript.rKeyword<number, number, GeneratorSlotMultiTransmitter>;
    get router_hw_status(): HWStatus;
    get router_hw_status_out(): HWStatusPort;
    get hw_status(): HWStatusRam;
}
export declare class GeneratorSlotMultiTransmitterAsTableRow extends GeneratorSlotMultiTransmitter {
    readonly enclosing_table: VScript.StronglyTypedTable<GeneratorSlotMultiTransmitter>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<GeneratorSlotMultiTransmitter>);
}
export declare class GeneratorSlotReTransmitter {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get trans_idx(): VScript.rKeyword<number, number, GeneratorSlotReTransmitter>;
    /**
      used for the meta data
    */
    get use_meta(): VScript.rKeyword<boolean, boolean, GeneratorSlotReTransmitter>;
    get hw_status(): HWStatusRam;
}
export declare class GeneratorSlotReTransmitterAsTableRow extends GeneratorSlotReTransmitter {
    readonly enclosing_table: VScript.StronglyTypedTable<GeneratorSlotReTransmitter>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<GeneratorSlotReTransmitter>);
}
export declare class GeneratorSlotAudio {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get transmitter(): VScript.rKeyword<string | null, _AudioTransmitter.SingleAudio | null, GeneratorSlotAudio>;
    get used_bandwidth(): VScript.rKeyword<number, number, GeneratorSlotAudio>;
    get trans_idx(): VScript.rKeyword<number, number, GeneratorSlotAudio>;
    get hw_status(): HWStatusRam;
}
export declare class GeneratorSlotAudioAsTableRow extends GeneratorSlotAudio {
    readonly enclosing_table: VScript.StronglyTypedTable<GeneratorSlotAudio>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<GeneratorSlotAudio>);
}
export declare class Lanes {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get assignment(): VScript.wKeyword<number, number, Lanes>;
    get tdm_output_bandwidth(): VScript.rKeyword<number, number, Lanes>;
    get output_bandwidth(): VScript.rKeyword<number, number, Lanes>;
    get generator_audio(): VScript.StronglyTypedTable<GeneratorSlotAudio, VScript.TableRowView<GeneratorSlotAudio>>;
    get generator_video(): VScript.StronglyTypedTable<GeneratorSlotVideo, VScript.TableRowView<GeneratorSlotVideo>>;
    get generator_re_transmitter(): VScript.StronglyTypedTable<GeneratorSlotReTransmitter, VScript.TableRowView<GeneratorSlotReTransmitter>>;
    get generator_mult_transmitter(): VScript.StronglyTypedTable<GeneratorSlotMultiTransmitter, VScript.TableRowView<GeneratorSlotMultiTransmitter>>;
}
export declare class LanesAsArrayRow<ParentType extends VScript.StronglyTypedSubtree> extends Lanes {
    readonly index: number;
    readonly parent: ParentType;
    constructor(st: VScript.Subtree, index: number, parent: ParentType);
}
export declare class All {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get lanes(): VScript.StronglyTypedArray<All, Lanes, VScript.RowView<Lanes>>;
}
