import * as VScript from "vscript";
import * as _Audio from "./Audio";
export declare const lift: {
    readonly Levels: (kwl: string | null, socket: VScript.VSocket) => Levels | null;
    readonly LevelsOutputs: (kwl: string | null, socket: VScript.VSocket) => LevelsOutputs | null;
    readonly Control: (kwl: string | null, socket: VScript.VSocket) => Control | null;
};
export declare const lower: {
    readonly Levels: (ref: Levels | null) => string | null;
    readonly LevelsOutputs: (ref: LevelsOutputs | null) => string | null;
    readonly Control: (ref: Control | null) => string | null;
};
export declare class Control {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    /**
      Default
    */
    get reset_to_default(): VScript.wKeyword<"Click", "Click", Control>;
    get gain(): VScript.rwKeyword<number[], number[], Control>;
    get phase_inversion(): VScript.rwKeyword<boolean[], boolean[], Control>;
}
declare class LevelsOutputs {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get control(): Control;
    get output(): _Audio.Essence;
}
export declare class Levels {
    readonly raw: VScript.Subtree;
    constructor(raw: VScript.Subtree);
    get source(): VScript.duplexKeyword<string | null, _Audio.Essence | null, Levels>;
    get outputs(): VScript.StronglyTypedTable<LevelsOutputs, VScript.TableRowView<LevelsOutputs>>;
}
export declare class LevelsAsNamedTableRow extends Levels {
    private readonly raw_row;
    readonly enclosing_table: VScript.StronglyTypedNamedTable<Levels>;
    readonly index: number;
    constructor(raw_row: VScript.NamedTableRow, enclosing_table: VScript.StronglyTypedNamedTable<Levels>);
    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 levels(): VScript.StronglyTypedNamedTable<Levels, VScript.NamedTableRowView<Levels>>;
}
export {};
