import type { Options } from 'nouislider';

import { TRangeSliderOptionsFormatterType } from './types';

export interface IRangeSliderCssClassesObject {
	[key: string]: any;
}

export interface IRangeSliderOptionsFormatterOptions {
	type?: TRangeSliderOptionsFormatterType;
	prefix?: string;
	postfix?: string;
}

export interface IRangeSliderOptions extends Options {
	disabled?: boolean;
	wrapper?: HTMLElement;
	currentValue?: HTMLElement[];
	formatter?:
		| IRangeSliderOptionsFormatterOptions
		| TRangeSliderOptionsFormatterType;
	icons?: {
		handle?: string;
	};
}

export interface IRangeSlider {
	options?: IRangeSliderOptions;

	destroy(): void;
}
