import * as VScript from "vscript";
import * as _ClusterProcessors from "./ClusterProcessors";
import * as _ClusterSources from "./ClusterSources";
export declare const lift: {
    readonly ClusterNodeGlobalRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterNodeGlobalRuntime | null;
    readonly ClusterNodeGlobalRuntimeConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterNodeGlobalRuntimeConfiguration | null;
    readonly ClusterNodeGlobalRuntimeStreamingPortConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterNodeGlobalRuntimeStreamingPortConfiguration | null;
    readonly ClusterNodePortLLDPInfo: (kwl: string | null, socket: VScript.VSocket) => ClusterNodePortLLDPInfo | null;
    readonly ClusterNodePortEgress: (kwl: string | null, socket: VScript.VSocket) => ClusterNodePortEgress | null;
    readonly ClusterNodePortIngress: (kwl: string | null, socket: VScript.VSocket) => ClusterNodePortIngress | null;
    readonly ClusterNodeGlobalConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterNodeGlobalConfiguration | null;
};
export declare const lower: {
    readonly ClusterNodeGlobalRuntime: (ref: ClusterNodeGlobalRuntime | null) => string | null;
    readonly ClusterNodeGlobalRuntimeConfiguration: (ref: ClusterNodeGlobalRuntimeConfiguration | null) => string | null;
    readonly ClusterNodeGlobalRuntimeStreamingPortConfiguration: (ref: ClusterNodeGlobalRuntimeStreamingPortConfiguration | null) => string | null;
    readonly ClusterNodePortLLDPInfo: (ref: ClusterNodePortLLDPInfo | null) => string | null;
    readonly ClusterNodePortEgress: (ref: ClusterNodePortEgress | null) => string | null;
    readonly ClusterNodePortIngress: (ref: ClusterNodePortIngress | null) => string | null;
    readonly ClusterNodeGlobalConfiguration: (ref: ClusterNodeGlobalConfiguration | null) => string | null;
};
export declare type NODEMODE = "MASTER" | "SLAVE";
export declare type NODECONNECTIONSTATUS = "CONNECTED" | "DISCONNECTED";
export declare class ClusterNodeGlobalConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get mode(): VScript.rwKeyword<NODEMODE, NODEMODE, ClusterNodeGlobalConfiguration>;
    /**
      IP address of the cluster node control
    */
    get ctrl_ip_address(): VScript.rwKeyword<string, string, ClusterNodeGlobalConfiguration>;
}
export declare class ClusterNodeGlobalConfigurationAsNamedTableRow extends ClusterNodeGlobalConfiguration {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<ClusterNodeGlobalConfiguration>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<ClusterNodeGlobalConfiguration>);
    rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>;
    delete(opts?: VScript.CommonWriteOptions): Promise<void>;
}
export declare class ClusterNodePortIngress {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get video(): VScript.StronglyTypedTable<_ClusterSources.ClusterVideoSourceID, VScript.TableRowView<_ClusterSources.ClusterVideoSourceID>>;
    get audio(): VScript.StronglyTypedTable<_ClusterSources.ClusterAudioSourceID, VScript.TableRowView<_ClusterSources.ClusterAudioSourceID>>;
    get metadata(): VScript.StronglyTypedTable<_ClusterSources.ClusterMetadataSourceID, VScript.TableRowView<_ClusterSources.ClusterMetadataSourceID>>;
}
export declare class ClusterNodePortEgress {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get video(): VScript.StronglyTypedTable<_ClusterSources.ClusterVideoSourceID, VScript.TableRowView<_ClusterSources.ClusterVideoSourceID>>;
}
export declare class ClusterNodePortLLDPInfo {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      MAC address, stored in big-endian order.
    */
    get chassis_id(): VScript.rKeyword<[number, number, number, number, number, number], [number, number, number, number, number, number], ClusterNodePortLLDPInfo>;
    /**
      MAC address, stored in big-endian order.
    */
    get port_id(): VScript.rKeyword<[number, number, number, number, number, number], [number, number, number, number, number, number], ClusterNodePortLLDPInfo>;
    get interface_name(): VScript.rKeyword<string, string, ClusterNodePortLLDPInfo>;
}
export declare class ClusterNodeGlobalRuntimeStreamingPortConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get max_bandwidth(): VScript.rKeyword<number, number, ClusterNodeGlobalRuntimeStreamingPortConfiguration>;
    /**
      Streaming Port IP address
    */
    get ip_address(): VScript.rKeyword<string, string, ClusterNodeGlobalRuntimeStreamingPortConfiguration>;
    get lldp_info(): ClusterNodePortLLDPInfo;
    get ingress(): ClusterNodePortIngress;
    get egress(): ClusterNodePortEgress;
}
export declare class ClusterNodeGlobalRuntimeStreamingPortConfigurationAsArrayRow<ParentType extends VScript.StronglyTypedSubtree> extends ClusterNodeGlobalRuntimeStreamingPortConfiguration {
    readonly index: number;
    readonly parent: ParentType;
    constructor(st: VScript.Subtree, index: number, parent: ParentType);
}
export declare class ClusterNodeGlobalRuntimeConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get sdi_inputs_num(): VScript.rKeyword<number, number, ClusterNodeGlobalRuntimeConfiguration>;
    get sdi_outputs_num(): VScript.rKeyword<number, number, ClusterNodeGlobalRuntimeConfiguration>;
    get mipmaps_dual_input_stages_num(): VScript.rKeyword<number, number, ClusterNodeGlobalRuntimeConfiguration>;
}
export declare class ClusterNodeGlobalRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get connection_status(): VScript.rKeyword<NODECONNECTIONSTATUS, NODECONNECTIONSTATUS, ClusterNodeGlobalRuntime>;
    get multicast_connection_status(): VScript.rKeyword<NODECONNECTIONSTATUS, NODECONNECTIONSTATUS, ClusterNodeGlobalRuntime>;
    get configuration(): ClusterNodeGlobalRuntimeConfiguration;
    get routed_sources(): _ClusterSources.ClusterSourcesLocalRuntime;
    get routed_processors(): _ClusterProcessors.ClusterProcessorsLocalConfiguration;
    get streaming_ports(): VScript.StronglyTypedArray<ClusterNodeGlobalRuntime, ClusterNodeGlobalRuntimeStreamingPortConfiguration, VScript.RowView<ClusterNodeGlobalRuntimeStreamingPortConfiguration>>;
}
export declare class ClusterNodeGlobalRuntimeAsTableRow extends ClusterNodeGlobalRuntime {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterNodeGlobalRuntime>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterNodeGlobalRuntime>);
}
export declare const Enums: {
    readonly NODECONNECTIONSTATUS: NODECONNECTIONSTATUS[];
    readonly NODEMODE: NODEMODE[];
};
