import * as VScript from "vscript";
import * as _NetworkInterfaces from "./NetworkInterfaces";
import * as _RTPReceiver from "./RTPReceiver";
import * as _Definitions from "./Definitions";
export declare const lift: {
    readonly SingleReTransmitter: (kwl: string | null, socket: VScript.VSocket) => SingleReTransmitter | null;
};
export declare const lower: {
    readonly SingleReTransmitter: (ref: SingleReTransmitter | null) => string | null;
};
export declare type SLICES = "s_128" | "s_256" | "s_512" | "s_1024";
export declare class SingleReTransmitter {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get active(): VScript.duplexKeyword<boolean, boolean, SingleReTransmitter>;
    get num_outputs(): VScript.rwKeyword<number, number, SingleReTransmitter>;
    get bandwidth_factor(): VScript.duplexKeyword<number, number, SingleReTransmitter>;
    get delay(): VScript.duplexKeyword<number, number, SingleReTransmitter>;
    get num_slices(): VScript.duplexKeyword<SLICES, SLICES, SingleReTransmitter>;
    get sdp(): VScript.rKeyword<string, string, SingleReTransmitter>;
    get source(): VScript.duplexKeyword<string | null, _RTPReceiver.PassthroughEssence | null, SingleReTransmitter>;
    get output_port(): VScript.StronglyTypedTable<_Definitions.TransmitterOutputPortSingle, VScript.TableRowView<_Definitions.TransmitterOutputPortSingle>>;
    get stream_name(): _Definitions.NAME;
}
export declare class SingleReTransmitterAsNamedTableRow extends SingleReTransmitter {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<SingleReTransmitter>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<SingleReTransmitter>);
    rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>;
    delete(opts?: VScript.CommonWriteOptions): Promise<void>;
}
export declare class All {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get mode_1(): VScript.rKeyword<_NetworkInterfaces.PortMode, _NetworkInterfaces.PortMode, All>;
    get mode_2(): VScript.rKeyword<_NetworkInterfaces.PortMode, _NetworkInterfaces.PortMode, All>;
    get preserve_src_ip_entry(): VScript.rwKeyword<boolean, boolean, All>;
    get passthrough_transmitter_output(): VScript.StronglyTypedNamedTable<SingleReTransmitter, VScript.NamedTableRowView<SingleReTransmitter>>;
}
export declare const Enums: {
    readonly SLICES: SLICES[];
};
