import { ChildrenLike, VirtualDOM } from '@youwol/rx-vdom';
import { Subject } from 'rxjs';
/**
* Represents a range view.
*
*
* let range = new Views.Range()
* display(range)
* display(range.value$)
*
*
* To setup min, max and step:
*
* display(new Views.Range({min:0, max:100, step: 1}))
*
*
* The range can optionally **not** emit while dragging:
*
* range = new Views.Range({emitDrag: false})
* display(range)
*
*
*
* When emitting on drag, it may be relevant to debounce the values, *e.g.*:
*
* `range.value$.pipe(rxjs.debounceTime(100))`.
*
*
*/
export declare class Range implements VirtualDOM<'div'> {
readonly tag = "div";
/**
* Classes associated to the view.
*/
readonly class = "mknb-Range";
readonly children: ChildrenLike;
readonly value$: Subject;
/**
* Default value.
*/
readonly value: number;
/**
* Minimum value.
*/
readonly min: number;
/**
* Maximum value.
*/
readonly max: number;
/**
* Step.
*/
readonly step = 0.01;
/**
* If `true`, data are emitted in `value$` while dragging the slider.
*/
readonly emitDrag: boolean;
/**
* Style attributes.
*/
readonly style: {
fontSize: string;
};
constructor(params?: {
min?: number;
max?: number;
step?: number;
value?: number;
value$?: Subject;
emitDrag?: boolean;
});
}