import * as VScript from "vscript";
import * as _Audio from "./Audio";
export declare const lift: {
    readonly SRC: (kwl: string | null, socket: VScript.VSocket) => SRC | null;
    readonly SRCSettings: (kwl: string | null, socket: VScript.VSocket) => SRCSettings | null;
    readonly STATUS: (kwl: string | null, socket: VScript.VSocket) => STATUS | null;
    readonly READSTATUS: (kwl: string | null, socket: VScript.VSocket) => READSTATUS | null;
    readonly PAIRCOM: (kwl: string | null, socket: VScript.VSocket) => PAIRCOM | null;
    readonly INPUTSTATUS: (kwl: string | null, socket: VScript.VSocket) => INPUTSTATUS | null;
};
export declare const lower: {
    readonly SRC: (ref: SRC | null) => string | null;
    readonly SRCSettings: (ref: SRCSettings | null) => string | null;
    readonly STATUS: (ref: STATUS | null) => string | null;
    readonly READSTATUS: (ref: READSTATUS | null) => string | null;
    readonly PAIRCOM: (ref: PAIRCOM | null) => string | null;
    readonly INPUTSTATUS: (ref: INPUTSTATUS | null) => string | null;
};
export declare type PAIRSOURCE = "None" | "Ch_0_15" | "Ch_16_31" | "Ch_32_47" | "Ch_48_63" | "Ch_64_79";
export declare class INPUTSTATUS {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get hw_value(): VScript.rKeyword<number, number, INPUTSTATUS>;
    /**
      index of the selected input channel based on 64
    */
    get audio_src(): VScript.rKeyword<number, number, INPUTSTATUS>;
    get sop_src(): VScript.rKeyword<number, number, INPUTSTATUS>;
    get enable(): VScript.rKeyword<boolean, boolean, INPUTSTATUS>;
}
export declare class PAIRCOM {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get hw_value(): VScript.rKeyword<number, number, PAIRCOM>;
}
export declare class PAIRCOMAsArrayRow<ParentType extends VScript.StronglyTypedSubtree> extends PAIRCOM {
    readonly index: number;
    readonly parent: ParentType;
    constructor(st: VScript.Subtree, index: number, parent: ParentType);
}
export declare class READSTATUS {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      µ sync error
    */
    get mu_sync_error(): VScript.rKeyword<number, number, READSTATUS>;
    get input_error(): VScript.rKeyword<number, number, READSTATUS>;
    /**
      SRC reference clock
    */
    get ref_ready(): VScript.rKeyword<number, number, READSTATUS>;
    /**
      Clear
    */
    get clear_statistic(): VScript.wKeyword<"Click", "Click", READSTATUS>;
}
export declare class STATUS {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get mux(): INPUTSTATUS;
    get pairs(): VScript.StronglyTypedArray<STATUS, PAIRCOM, VScript.RowView<PAIRCOM>>;
    get read_status(): READSTATUS;
}
export declare class STATUSAsArrayRow<ParentType extends VScript.StronglyTypedSubtree> extends STATUS {
    readonly index: number;
    readonly parent: ParentType;
    constructor(st: VScript.Subtree, index: number, parent: ParentType);
}
declare class SRCSettings {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get src(): VScript.rwKeyword<PAIRSOURCE, PAIRSOURCE, SRCSettings>;
}
export declare class SRC {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get id(): VScript.duplexKeyword<string, string, SRC>;
    /**
      Delete
    */
    get delete_src(): VScript.wKeyword<"Click", "Click", SRC>;
    get active(): VScript.rwKeyword<boolean, boolean, SRC>;
    get source(): VScript.duplexKeyword<string | null, _Audio.Essence | null, SRC>;
    get settings(): SRCSettings;
    get output(): _Audio.Essence;
    get audio_source_slices(): _Audio.SignalSourceSlice;
}
export declare class SRCAsTableRow extends SRC {
    readonly enclosing_table: VScript.StronglyTypedTable<SRC>;
    readonly index: number;
    constructor(raw_row: VScript.TableRow, enclosing_table: VScript.StronglyTypedTable<SRC>);
}
export declare class All {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      Create
    */
    get create_src(): VScript.wKeyword<"Click", "Click", All>;
    get pool(): VScript.StronglyTypedTable<SRC, VScript.TableRowView<SRC>>;
    get hw_status(): VScript.StronglyTypedArray<All, STATUS, VScript.RowView<STATUS>>;
}
export declare const Enums: {
    readonly PAIRSOURCE: PAIRSOURCE[];
};
export {};
