import * as i0 from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i2 from '@angular/common';

interface Volumes {
    left: number;
    right: number;
}
declare class ChannelVolumeComponent implements ControlValueAccessor {
    /** Volumes value from range 0-1 */
    volumes: i0.ModelSignal<Volumes>;
    protected random?: number;
    onChange: (value: {
        left: number;
        right: number;
    }) => void;
    onTouched: () => void;
    registerOnValidatorChange(fn: () => void): void;
    writeValue(set?: {
        left: number;
        right: number;
    }): void;
    registerOnChange(onChange: any): void;
    registerOnTouched(onTouched: any): void;
    constructor();
    get leftId(): string;
    get rightId(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChannelVolumeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChannelVolumeComponent, "obl-channel-volume", never, { "volumes": { "alias": "volumes"; "required": false; "isSignal": true; }; }, { "volumes": "volumesChange"; }, never, never, false, never>;
}

declare class ChannelVolumeModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ChannelVolumeModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ChannelVolumeModule, [typeof ChannelVolumeComponent], [typeof i2.CommonModule], [typeof ChannelVolumeComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ChannelVolumeModule>;
}

export { ChannelVolumeComponent, ChannelVolumeModule };
export type { Volumes };
