import type { TuiValueTransformer } from '@taiga-ui/cdk/classes';
import { TuiControl } from '@taiga-ui/cdk/classes';
import { TuiSliderComponent } from '../slider.component';
import type { TuiKeySteps } from './key-steps';
import * as i0 from "@angular/core";
export declare class TuiSliderKeyStepsBase {
    private readonly injector;
    private readonly control;
    protected min?: number;
    protected max?: number;
    step: number | null;
    transformer: import("@angular/core").WritableSignal<TuiValueTransformer<number, number> | null>;
    value: import("@angular/core").Signal<number | undefined>;
    get slider(): TuiSliderComponent;
    set keySteps(steps: TuiKeySteps | null);
    /**
     * TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` (for non-linear slider `step` means percentage)
     * Add these host-bindings to `TuiSliderKeyStepsBase`:
     * ```
     * host: {
     *     '[attr.min]': '0',
     *     '[attr.step]': '1',
     *     '[attr.max]': 'totalSteps',
     * },
     * ```
     */
    get totalSteps(): number;
    takeStep(coefficient: number): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeyStepsBase, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeyStepsBase, "input[tuiSlider][keySteps]", never, { "step": { "alias": "step"; "required": false; }; "keySteps": { "alias": "keySteps"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_step: number | "any";
}
export declare class TuiSliderKeySteps extends TuiControl<number> {
    private readonly slider;
    set keySteps(steps: TuiKeySteps);
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeySteps, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeySteps, "input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]", never, { "keySteps": { "alias": "keySteps"; "required": false; }; }, {}, never, never, true, never>;
}
