import { NxIconEnum } from 'nx-icons';
import { BaseControlValueAccessor } from '../../directives/control-value-accessor.directive';
import { PlaybackRates } from './playback-slider-utils';
import * as i0 from "@angular/core";
/**
 * A playback rate slider component.
 *
 * Currently hardcoded to allow playback rates of `-1, 0, 1, 2, 4, 8`.
 *
 * Can be used with form controls or by binding to the `value` model.
 *
 * Can be used as `nx-playback-slider` or `nx-playback-toggle-slider`.
 *
 * The `nx-playback-slider` will show the icon as the current playback state.
 *
 * The `nx-playback-toggle-slider` will show the icon as the playback state if you toggled.
 */
export declare class NxPlaybackSliderComponent extends BaseControlValueAccessor<PlaybackRates> {
    /**
     * Used to determine if slider icons should be inverse when toggled.
     */
    protected readonly isToggleSlider: boolean;
    /**
     * The current playback rate.
     *
     * @default 1
     */
    value: import("@angular/core").ModelSignal<0 | 2 | 4 | 8 | 1 | 16 | -8 | -4 | -2 | -1 | -16>;
    protected toggledValue: number;
    protected toggledColor: "core_shade_light10_opacity_20";
    protected toFriendlyName: (value: number) => string;
    protected mappedValue: import("@angular/core").Signal<number>;
    protected currentIcon: import("@angular/core").Signal<NxIconEnum>;
    protected lastValue: import("@angular/core").WritableSignal<number>;
    protected toggledIcon: import("@angular/core").Signal<NxIconEnum>;
    protected toSelectionRange: (value: number) => {
        start: number;
        end: number;
        handle: number;
    };
    protected clampValue: (value: number) => number;
    protected updateValue: (value: number) => void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxPlaybackSliderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NxPlaybackSliderComponent, "nx-playback-slider, nx-playback-toggle-slider", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
}
