import * as VScript from "vscript";
import * as _Time from "./Time";
import * as _Audio from "./Audio";
import * as _Video from "./Video";
export declare const lift: {
    readonly ClusterSourcesLocalRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterSourcesLocalRuntime | null;
    readonly ClusterSourcesGlobalRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterSourcesGlobalRuntime | null;
    readonly ClusterMetadataSourceRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterMetadataSourceRuntime | null;
    readonly TimestampedTimecode: (x: any | null, _: VScript.VSocket) => TimestampedTimecode | null;
    readonly ClusterMetadataSourceLocalRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterMetadataSourceLocalRuntime | null;
    readonly ClusterMetadataSourceCC: (kwl: string | null, socket: VScript.VSocket) => ClusterMetadataSourceCC | null;
    readonly ClusterAudioSourceRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterAudioSourceRuntime | null;
    readonly ClusterAudioSourceRuntimeLocal: (kwl: string | null, socket: VScript.VSocket) => ClusterAudioSourceRuntimeLocal | null;
    readonly ClusterVideoSourceRuntime: (kwl: string | null, socket: VScript.VSocket) => ClusterVideoSourceRuntime | null;
    readonly ClusterVideoSourceRuntimeLocal: (kwl: string | null, socket: VScript.VSocket) => ClusterVideoSourceRuntimeLocal | null;
    readonly ClusterVideoSourceRuntimeResolutionLevel: (kwl: string | null, socket: VScript.VSocket) => ClusterVideoSourceRuntimeResolutionLevel | null;
    readonly ClusterMetadataSourceID: (kwl: string | null, socket: VScript.VSocket) => ClusterMetadataSourceID | null;
    readonly ClusterAudioSourceID: (kwl: string | null, socket: VScript.VSocket) => ClusterAudioSourceID | null;
    readonly ClusterVideoSourceID: (kwl: string | null, socket: VScript.VSocket) => ClusterVideoSourceID | null;
    readonly ClusterVideoSourceIDInfo: (x: any | null, _: VScript.VSocket) => ClusterVideoSourceIDInfo | null;
    readonly ClusterMetadataSourceLocalConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterMetadataSourceLocalConfiguration | null;
    readonly ClusterAudioSourceLocalConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterAudioSourceLocalConfiguration | null;
    readonly ClusterVideoSourceLocalConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterVideoSourceLocalConfiguration | null;
    readonly ClusterSourcesGlobalConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterSourcesGlobalConfiguration | null;
    readonly ClusterIPSourcesGlobalConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterIPSourcesGlobalConfiguration | null;
    readonly ClusterIPSourceConfiguration: (kwl: string | null, socket: VScript.VSocket) => ClusterIPSourceConfiguration | null;
    readonly ClusterSourceLabelDual: (kwl: string | null, socket: VScript.VSocket) => ClusterSourceLabelDual | null;
};
export declare const lower: {
    readonly ClusterSourcesLocalRuntime: (ref: ClusterSourcesLocalRuntime | null) => string | null;
    readonly ClusterSourcesGlobalRuntime: (ref: ClusterSourcesGlobalRuntime | null) => string | null;
    readonly ClusterMetadataSourceRuntime: (ref: ClusterMetadataSourceRuntime | null) => string | null;
    readonly TimestampedTimecode: (x: TimestampedTimecode | null) => any[] | null;
    readonly ClusterMetadataSourceLocalRuntime: (ref: ClusterMetadataSourceLocalRuntime | null) => string | null;
    readonly ClusterMetadataSourceCC: (ref: ClusterMetadataSourceCC | null) => string | null;
    readonly ClusterAudioSourceRuntime: (ref: ClusterAudioSourceRuntime | null) => string | null;
    readonly ClusterAudioSourceRuntimeLocal: (ref: ClusterAudioSourceRuntimeLocal | null) => string | null;
    readonly ClusterVideoSourceRuntime: (ref: ClusterVideoSourceRuntime | null) => string | null;
    readonly ClusterVideoSourceRuntimeLocal: (ref: ClusterVideoSourceRuntimeLocal | null) => string | null;
    readonly ClusterVideoSourceRuntimeResolutionLevel: (ref: ClusterVideoSourceRuntimeResolutionLevel | null) => string | null;
    readonly ClusterMetadataSourceID: (ref: ClusterMetadataSourceID | null) => string | null;
    readonly ClusterAudioSourceID: (ref: ClusterAudioSourceID | null) => string | null;
    readonly ClusterVideoSourceID: (ref: ClusterVideoSourceID | null) => string | null;
    readonly ClusterVideoSourceIDInfo: (x: ClusterVideoSourceIDInfo | null) => number[] | null;
    readonly ClusterMetadataSourceLocalConfiguration: (ref: ClusterMetadataSourceLocalConfiguration | null) => string | null;
    readonly ClusterAudioSourceLocalConfiguration: (ref: ClusterAudioSourceLocalConfiguration | null) => string | null;
    readonly ClusterVideoSourceLocalConfiguration: (ref: ClusterVideoSourceLocalConfiguration | null) => string | null;
    readonly ClusterSourcesGlobalConfiguration: (ref: ClusterSourcesGlobalConfiguration | null) => string | null;
    readonly ClusterIPSourcesGlobalConfiguration: (ref: ClusterIPSourcesGlobalConfiguration | null) => string | null;
    readonly ClusterIPSourceConfiguration: (ref: ClusterIPSourceConfiguration | null) => string | null;
    readonly ClusterSourceLabelDual: (ref: ClusterSourceLabelDual | null) => string | null;
};
export declare class ClusterSourceLabelDual {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get string_default(): VScript.rwKeyword<string, string, ClusterSourceLabelDual>;
    get string_user(): VScript.rwKeyword<string, string, ClusterSourceLabelDual>;
}
export declare class ClusterSourceLabelDualAsArrayRow<ParentType extends VScript.StronglyTypedSubtree> extends ClusterSourceLabelDual {
    readonly index: number;
    readonly parent: ParentType;
    constructor(st: VScript.Subtree, index: number, parent: ParentType);
}
export declare class ClusterIPSourceConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get sdp(): VScript.rwKeyword<string, string, ClusterIPSourceConfiguration>;
}
export declare class ClusterIPSourceConfigurationAsNamedTableRow extends ClusterIPSourceConfiguration {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<ClusterIPSourceConfiguration>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<ClusterIPSourceConfiguration>);
    rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>;
    delete(opts?: VScript.CommonWriteOptions): Promise<void>;
}
export declare class ClusterIPSourcesGlobalConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get video(): VScript.StronglyTypedNamedTable<ClusterIPSourceConfiguration, VScript.NamedTableRowView<ClusterIPSourceConfiguration>>;
    get audio(): VScript.StronglyTypedNamedTable<ClusterIPSourceConfiguration, VScript.NamedTableRowView<ClusterIPSourceConfiguration>>;
    get metadata(): VScript.StronglyTypedNamedTable<ClusterIPSourceConfiguration, VScript.NamedTableRowView<ClusterIPSourceConfiguration>>;
}
export declare class ClusterSourcesGlobalConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get ip(): ClusterIPSourcesGlobalConfiguration;
}
export declare type SourceTransportFormat = "IP_2022" | "IP_2110" | "SDI" | "INTERNAL" | "EXTERNAL_MIPMAPS";
export declare type Ports = "PORT_1" | "PORT_2" | "PORTS_ALL_SPS" | "PORTS_ALL";
export declare class ClusterVideoSourceLocalConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get source_id(): VScript.rwKeyword<number, number, ClusterVideoSourceLocalConfiguration>;
}
export declare class ClusterVideoSourceLocalConfigurationAsNamedTableRow extends ClusterVideoSourceLocalConfiguration {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<ClusterVideoSourceLocalConfiguration>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<ClusterVideoSourceLocalConfiguration>);
    rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>;
    delete(opts?: VScript.CommonWriteOptions): Promise<void>;
}
export declare class ClusterAudioSourceLocalConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get source_id(): VScript.rwKeyword<number, number, ClusterAudioSourceLocalConfiguration>;
}
export declare class ClusterAudioSourceLocalConfigurationAsNamedTableRow extends ClusterAudioSourceLocalConfiguration {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<ClusterAudioSourceLocalConfiguration>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<ClusterAudioSourceLocalConfiguration>);
    rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>;
    delete(opts?: VScript.CommonWriteOptions): Promise<void>;
}
export declare class ClusterMetadataSourceLocalConfiguration {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get source_id(): VScript.rwKeyword<number, number, ClusterMetadataSourceLocalConfiguration>;
}
export declare class ClusterMetadataSourceLocalConfigurationAsNamedTableRow extends ClusterMetadataSourceLocalConfiguration {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<ClusterMetadataSourceLocalConfiguration>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<ClusterMetadataSourceLocalConfiguration>);
    rename(name: string, opts?: VScript.CommonWriteOptions): Promise<void>;
    delete(opts?: VScript.CommonWriteOptions): Promise<void>;
}
export interface ClusterVideoSourceIDInfo {
    source_id: number;
    rl_mask: number;
}
export declare class ClusterVideoSourceID {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get info(): VScript.rKeyword<any, ClusterVideoSourceIDInfo | null, this>;
}
export declare class ClusterVideoSourceIDAsTableRow extends ClusterVideoSourceID {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterVideoSourceID>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterVideoSourceID>);
}
export declare class ClusterAudioSourceID {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get source_id(): VScript.rKeyword<number, number, ClusterAudioSourceID>;
}
export declare class ClusterAudioSourceIDAsTableRow extends ClusterAudioSourceID {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterAudioSourceID>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterAudioSourceID>);
}
export declare class ClusterMetadataSourceID {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get source_id(): VScript.rKeyword<number, number, ClusterMetadataSourceID>;
}
export declare class ClusterMetadataSourceIDAsTableRow extends ClusterMetadataSourceID {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterMetadataSourceID>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterMetadataSourceID>);
}
export declare class ClusterVideoSourceRuntimeResolutionLevel {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      Destination IP address of the mipmap RTP stream
    */
    get dest_ip_address(): VScript.rKeyword<string, string, ClusterVideoSourceRuntimeResolutionLevel>;
    /**
      Destination IP address of the mipmap RTP stream
    */
    get secondary_dest_ip_address(): VScript.rKeyword<string, string, ClusterVideoSourceRuntimeResolutionLevel>;
    get width(): VScript.rKeyword<number, number, ClusterVideoSourceRuntimeResolutionLevel>;
    get height(): VScript.rKeyword<number, number, ClusterVideoSourceRuntimeResolutionLevel>;
    get bytes_per_second(): VScript.rKeyword<number, number, ClusterVideoSourceRuntimeResolutionLevel>;
    get sdp(): VScript.rKeyword<string, string, ClusterVideoSourceRuntimeResolutionLevel>;
}
export declare class ClusterVideoSourceRuntimeResolutionLevelAsArrayRow<ParentType extends VScript.StronglyTypedSubtree> extends ClusterVideoSourceRuntimeResolutionLevel {
    readonly index: number;
    readonly parent: ParentType;
    constructor(st: VScript.Subtree, index: number, parent: ParentType);
}
export declare class ClusterVideoSourceRuntimeLocal {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get video_essence(): VScript.rKeyword<string | null, _Video.Essence | null, ClusterVideoSourceRuntimeLocal>;
    get bad_sdp(): VScript.rKeyword<boolean, boolean, ClusterVideoSourceRuntimeLocal>;
}
export declare class ClusterVideoSourceRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get global_source_id(): VScript.rKeyword<number, number, ClusterVideoSourceRuntime>;
    get brief(): VScript.rKeyword<string, string, ClusterVideoSourceRuntime>;
    get transport_format(): VScript.rKeyword<SourceTransportFormat, SourceTransportFormat, ClusterVideoSourceRuntime>;
    get video_standard(): VScript.rKeyword<_Video.Standard, _Video.Standard, ClusterVideoSourceRuntime>;
    get ip_configuration(): VScript.rKeyword<string | null, ClusterIPSourceConfiguration | null, ClusterVideoSourceRuntime>;
    /**
      Source IP address of the mipmap RTP stream
    */
    get resolution_levels_src_ip_address(): VScript.rKeyword<string, string, ClusterVideoSourceRuntime>;
    /**
      Source IP address of the mipmap RTP stream
    */
    get secondary_resolution_levels_src_ip_address(): VScript.rKeyword<string, string, ClusterVideoSourceRuntime>;
    get tally_mask(): VScript.rwKeyword<number, number, ClusterVideoSourceRuntime>;
    get lifeness_count(): VScript.rKeyword<number, number, ClusterVideoSourceRuntime>;
    get resolution_levels(): VScript.StronglyTypedArray<ClusterVideoSourceRuntime, ClusterVideoSourceRuntimeResolutionLevel, VScript.RowView<ClusterVideoSourceRuntimeResolutionLevel>>;
    get local(): ClusterVideoSourceRuntimeLocal;
    get label(): ClusterSourceLabelDual;
}
export declare class ClusterVideoSourceRuntimeAsTableRow extends ClusterVideoSourceRuntime {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterVideoSourceRuntime>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterVideoSourceRuntime>);
}
export declare class ClusterAudioSourceRuntimeLocal {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get audio_essence(): VScript.rKeyword<string | null, _Audio.Essence | null, ClusterAudioSourceRuntimeLocal>;
    get bad_sdp(): VScript.rKeyword<boolean, boolean, ClusterAudioSourceRuntimeLocal>;
    get used_channel_id_start(): VScript.rKeyword<number, number, ClusterAudioSourceRuntimeLocal>;
    get used_channels_num(): VScript.rKeyword<number, number, ClusterAudioSourceRuntimeLocal>;
}
export declare class ClusterAudioSourceRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get brief(): VScript.rKeyword<string, string, ClusterAudioSourceRuntime>;
    get transport_format(): VScript.rKeyword<SourceTransportFormat, SourceTransportFormat, ClusterAudioSourceRuntime>;
    get num_channels(): VScript.rKeyword<number, number, ClusterAudioSourceRuntime>;
    get peak_meters(): VScript.rKeyword<number[], number[], ClusterAudioSourceRuntime>;
    get ip_configuration(): VScript.rKeyword<string | null, ClusterIPSourceConfiguration | null, ClusterAudioSourceRuntime>;
    get tally_mask(): VScript.rwKeyword<number, number, ClusterAudioSourceRuntime>;
    get lifeness_count(): VScript.rKeyword<number, number, ClusterAudioSourceRuntime>;
    get bytes_per_second(): VScript.rKeyword<number, number, ClusterAudioSourceRuntime>;
    get local(): ClusterAudioSourceRuntimeLocal;
    get label(): ClusterSourceLabelDual;
}
export declare class ClusterAudioSourceRuntimeAsTableRow extends ClusterAudioSourceRuntime {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterAudioSourceRuntime>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterAudioSourceRuntime>);
}
export declare class ClusterMetadataSourceCC {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get screen(): VScript.rKeyword<string, string, ClusterMetadataSourceCC>;
}
export declare class ClusterMetadataSourceLocalRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get bad_sdp(): VScript.rKeyword<boolean, boolean, ClusterMetadataSourceLocalRuntime>;
    get time_source(): VScript.rKeyword<string | null, _Time.Source | null, ClusterMetadataSourceLocalRuntime>;
    get closed_caption(): VScript.rKeyword<string | null, _Video.ClosedCaption | null, ClusterMetadataSourceLocalRuntime>;
}
export interface TimestampedTimecode {
    ltc: any;
    vtc1: any;
    vtc2: any;
}
export declare class ClusterMetadataSourceRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get global_source_id(): VScript.rKeyword<number, number, ClusterMetadataSourceRuntime>;
    get brief(): VScript.rKeyword<string, string, ClusterMetadataSourceRuntime>;
    get transport_format(): VScript.rKeyword<SourceTransportFormat, SourceTransportFormat, ClusterMetadataSourceRuntime>;
    /**
      Source IP address of the metadata RTP stream
    */
    get src_ip_address(): VScript.rKeyword<string, string, ClusterMetadataSourceRuntime>;
    /**
      Source IP address of the metadata RTP stream
    */
    get secondary_src_ip_address(): VScript.rKeyword<string, string, ClusterMetadataSourceRuntime>;
    /**
      Destination IP address of the metadata RTP stream
    */
    get dest_ip_address(): VScript.rKeyword<string, string, ClusterMetadataSourceRuntime>;
    /**
      Destination IP address of the metadata RTP stream
    */
    get secondary_dest_ip_address(): VScript.rKeyword<string, string, ClusterMetadataSourceRuntime>;
    get ip_configuration(): VScript.rKeyword<string | null, ClusterIPSourceConfiguration | null, ClusterMetadataSourceRuntime>;
    get lifeness_count(): VScript.rKeyword<number, number, ClusterMetadataSourceRuntime>;
    get time_code(): VScript.rKeyword<any, TimestampedTimecode | null, this>;
    get local(): ClusterMetadataSourceLocalRuntime;
    get closed_caption(): ClusterMetadataSourceCC;
}
export declare class ClusterMetadataSourceRuntimeAsTableRow extends ClusterMetadataSourceRuntime {
    readonly enclosing_table: VScript.StronglyTypedTable<ClusterMetadataSourceRuntime>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<ClusterMetadataSourceRuntime>);
}
export declare class ClusterSourcesGlobalRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get video(): VScript.StronglyTypedTable<ClusterVideoSourceRuntime, VScript.TableRowView<ClusterVideoSourceRuntime>>;
    get audio(): VScript.StronglyTypedTable<ClusterAudioSourceRuntime, VScript.TableRowView<ClusterAudioSourceRuntime>>;
    get metadata(): VScript.StronglyTypedTable<ClusterMetadataSourceRuntime, VScript.TableRowView<ClusterMetadataSourceRuntime>>;
}
export declare class ClusterSourcesLocalRuntime {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get video(): VScript.StronglyTypedNamedTable<ClusterVideoSourceLocalConfiguration, VScript.NamedTableRowView<ClusterVideoSourceLocalConfiguration>>;
    get audio(): VScript.StronglyTypedNamedTable<ClusterAudioSourceLocalConfiguration, VScript.NamedTableRowView<ClusterAudioSourceLocalConfiguration>>;
    get metadata(): VScript.StronglyTypedNamedTable<ClusterMetadataSourceLocalConfiguration, VScript.NamedTableRowView<ClusterMetadataSourceLocalConfiguration>>;
    get video_full_size(): VScript.StronglyTypedNamedTable<ClusterVideoSourceLocalConfiguration, VScript.NamedTableRowView<ClusterVideoSourceLocalConfiguration>>;
}
export declare const Enums: {
    readonly Ports: Ports[];
    readonly SourceTransportFormat: SourceTransportFormat[];
};
