import { ControlValueAccessor, Validator, FormGroup, FormControl, FormBuilder, ValidationErrors } from '@angular/forms';
import * as i0 from '@angular/core';

type RangeSlider = {
    min: number;
    max: number;
};
declare class RangeSliderComponent implements ControlValueAccessor, Validator {
    private fb;
    set min(min: number);
    get min(): number;
    set max(max: number);
    get max(): number;
    rangeSliderFormGroup: FormGroup<{
        maximum: FormControl<number>;
        minimum: FormControl<number>;
        min: FormControl<number | undefined>;
        max: FormControl<number | undefined>;
    }>;
    constructor(fb: FormBuilder);
    propagateChange: ((v: RangeSlider) => void) | null;
    propagateOnTouch: (() => void) | null;
    registerOnChange(fn: (v: RangeSlider) => void): void;
    registerOnTouched(fn: () => void): void;
    get minimum(): number;
    get maximum(): number;
    get minFormControl(): FormControl;
    get minimumFormControl(): FormControl;
    get maximumFormControl(): FormControl;
    get maxFormControl(): FormControl;
    writeValue(inputRange: RangeSlider): void;
    change(): void;
    validate(): ValidationErrors | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<RangeSliderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RangeSliderComponent, "ap-range-slider", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, {}, never, never, true, never>;
}

export { RangeSliderComponent };
export type { RangeSlider };
