license import { EventType , SpecificEventListener } from '@material/base/types' ; import { Thumb , TickMark } from './types' ; /**
 * Defines the shape of the adapter expected by the foundation.
 * Implement this adapter for your framework of choice to delegate updates to
 * the component in your framework of choice. See architecture documentation
 * for more details.
 * https://github.com/material-components/material-components-web/blob/master/docs/code/architecture.md
 */ export interface MDCSliderAdapter { return hasClass ( className ) : boolean ; /**
     * Adds the given class to the slider root element.
     */ addClass ( className ) : void ; /**
     * Removes the given class from the slider root element.
     */ removeClass ( className ) : void ; return getAttribute ( attribute ) : string | null ; /**
     * Adds the class to the given thumb element.
     */ addThumbClass ( className , thumb ) : void ; /**
     * Removes the class from the given thumb element.
     */ removeThumbClass ( className , thumb ) : void ; /**
     * - If thumb is `Thumb.START`, returns the value property on the start input
     *   (for range slider variant).
     * - If thumb is `Thumb.END`, returns the value property on the end input (or
     *   only input for single point slider).
     */ getInputValue ( thumb ) : string ; /**
     * - If thumb is `Thumb.START`, sets the value property on the start input
     *   (for range slider variant).
     * - If thumb is `Thumb.END`, sets the value property on the end input (or
     *   only input for single point slider).
     */ setInputValue ( value , thumb ) : void ; /**
     * - If thumb is `Thumb.START`, returns the attribute value on the start input
     *   (for range slider variant).
     * - If thumb is `Thumb.END`, returns the attribute value on the end input (or
     *   only input for single point slider).
     */ getInputAttribute ( attribute , thumb ) : string | null ; /**
     * - If thumb is `Thumb.START`, sets the attribute on the start input
     *   (for range slider variant).
     * - If thumb is `Thumb.END`, sets the attribute on the end input (or
     *   only input for single point slider).
     */ setInputAttribute ( attribute , value , thumb ) : void ; /**
     * - If thumb is `Thumb.START`, removes the attribute on the start input
     *   (for range slider variant).
     * - If thumb is `Thumb.END`, removes the attribute on the end input (or
     *   only input for single point slider).
     */ removeInputAttribute ( attribute , thumb ) : void ; /**
     * - If thumb is `Thumb.START`, focuses start input (range slider variant).
     * - If thumb is `Thumb.END`, focuses end input (or only input for single
     *   point slider).
     */ focusInput ( thumb ) : void ; return isInputFocused ( thumb ) : boolean ; return getThumbKnobWidth ( thumb ) : number ; return getThumbBoundingClientRect ( thumb ) : ClientRect ; return getBoundingClientRect ( ) : ClientRect ; return getValueIndicatorContainerWidth ( thumb ) : number ; return isRTL ( ) : boolean ; /**
     * Sets a style property of the thumb element to the passed value.
     * - If thumb is `Thumb.START`, sets style on the start thumb (for
     *   range slider variant).
     * - If thumb is `Thumb.END`, sets style on the end thumb (or only thumb
     *   for single point slider).
     */ setThumbStyleProperty ( propertyName , value , thumb ) : void ; /**
     * Removes the given style property from the thumb element.
     * - If thumb is `Thumb.START`, removes style from the start thumb (for
     *   range slider variant).
     * - If thumb is `Thumb.END`, removes style from the end thumb (or only thumb
     *   for single point slider).
     */ removeThumbStyleProperty ( propertyName , thumb ) : void ; /**
     * Sets a style property of the active track element to the passed value.
     */ setTrackActiveStyleProperty ( propertyName , value ) : void ; /**
     * Removes the given style property from the active track element.
     */ removeTrackActiveStyleProperty ( propertyName ) : void ; /**
     * Sets value indicator text based on the given value.
     * - If thumb is `Thumb.START`, updates value indicator on start thumb
     *   (for range slider variant).
     * - If thumb is `Thumb.END`, updates value indicator on end thumb (or
     *   only thumb for single point slider).
     */ setValueIndicatorText ( value , thumb ) : void ; /**
     * Returns a function that maps the slider value to the value of the
     * `aria-valuetext` attribute on the thumb element. If null, the
     * `aria-valuetext` attribute is unchanged when the value changes.
     */ getValueToAriaValueTextFn ( ) : ( ( value : number , thumb : Thumb ) => string ) | null ; /**
     * Updates tick marks container element with tick mark elements and their
     * active/inactive classes, based on the given mappings:
     * - TickMark.ACTIVE => `cssClasses.TICK_MARK_ACTIVE`
     * - TickMark.INACTIVE => `cssClasses.TICK_MARK_INACTIVE`
     */ updateTickMarks ( tickMarks ) : void ; /**
     * Sets pointer capture on the slider root.
     * https://developer.mozilla.org/en-US/docs/Web/API/Element/setPointerCapture
     */ setPointerCapture ( pointerId ) : void ; /**
     * Emits a `change` event from the slider root, indicating that the value
     * has been changed and committed on the given thumb, from a user event.
     * Mirrors the native `change` event:
     * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event
     */ emitChangeEvent ( value , thumb ) : void ; /**
     * Emits an `input` event from the slider root, indicating that the value
     * has been changed on the given thumb, from a user event.
     * Mirrors the native `input` event:
     * https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event
     */ emitInputEvent ( value , thumb ) : void ; /**
     * Emits an event on drag start, containing the current value on the
     * thumb being dragged.
     */ emitDragStartEvent ( value , thumb ) : void ; /**
     * Emits an event on drag end, containing the final value on the
     * thumb that was dragged.
     */ emitDragEndEvent ( value , thumb ) : void ; /**
     * Registers an event listener on the root element.
     */ registerEventHandler < K extends EventType > ( evtType , handler ) : void ; /**
     * Deregisters an event listener on the root element.
     */ deregisterEventHandler < K extends EventType > ( evtType , handler ) : void ; /**
     * Registers an event listener on the given thumb element.
     */ registerThumbEventHandler < K extends EventType > ( thumb , evtType , handler ) : void ; /**
     * Deregisters an event listener on the given thumb element.
     */ deregisterThumbEventHandler < K extends EventType > ( thumb , evtType , handler ) : void ; /**
     * Registers an event listener on the given input element.
     */ registerInputEventHandler < K extends EventType > ( thumb , evtType , handler ) : void ; /**
     * Deregisters an event listener on the given input element.
     */ deregisterInputEventHandler < K extends EventType > ( thumb , evtType , handler ) : void ; /**
     * Registers an event listener on the body element.
     */ registerBodyEventHandler < K extends EventType > ( evtType , handler ) : void ; /**
     * Deregisters an event listener on the body element.
     */ deregisterBodyEventHandler < K extends EventType > ( evtType , handler ) : void ; /**
     * Registers an event listener on the window.
     */ registerWindowEventHandler < K extends EventType > ( evtType , handler ) : void ; /**
     * Deregisters an event listener on the window.
     */ deregisterWindowEventHandler < K extends EventType > ( evtType , handler ) : void ; }