import { ScrollBar } from './../index';
import { Animation, DragMechanicalAction, Orientation } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import * as i0 from "@angular/core";
export { Animation, DragMechanicalAction, Orientation, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { ScrollBar } from './../index';
export declare class ScrollBarComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<ScrollBar>);
    private eventHandlers;
    nativeElement: ScrollBar;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Enables or disables the element. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Sets or gets the scrollbar's largestep. The value is increased/decreased with this largestep when the user presses the left mouse button in the area between a scrollbar button and thumb. */
    get largeStep(): number;
    set largeStep(value: number);
    /** @description Sets or gets the unlockKey which unlocks the product. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Sets or gets the language. Used in conjunction with the property messages.  */
    get locale(): string;
    set locale(value: string);
    /** @description Callback, related to localization module.  */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Sets or gets the scrollbar's maximum value. */
    get max(): number;
    set max(value: number);
    /** @description Sets or gets the type of used mechanical action. The mechanical action defines in which moment the value of the element will be updated. */
    get mechanicalAction(): DragMechanicalAction | string;
    set mechanicalAction(value: DragMechanicalAction | string);
    /** @description Sets an object with string values, related to the different states of passwords strength. */
    get messages(): any;
    set messages(value: any);
    /** @description Sets or gets the scrollbar's minimum value. */
    get min(): number;
    set min(value: number);
    /** @description Sets or gets the scrollbar's orientation */
    get orientation(): Orientation | string;
    set orientation(value: Orientation | string);
    /** @description If the element is readonly, users cannot interact with it. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description Sets or gets scrollbar buttons visibility. */
    get showButtons(): boolean;
    set showButtons(value: boolean);
    /** @description Sets or gets the scrollbar's step. The value is increased/decreased with this step when the user presses a scrollbar button. */
    get step(): number;
    set step(value: number);
    /** @description Determines the theme. Theme defines the look of the element */
    get theme(): string;
    set theme(value: string);
    /** @description If is set to true, the element cannot be focused. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description Sets or gets the widget's value. */
    get value(): number;
    set value(value: number);
    /** @description This event is triggered when the value is changed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	value, 	oldValue, 	min, 	max)
    *   value - A numeric value indicating the scroll position.
    *   oldValue - A numeric value indicating the previous scroll position.
    *   min - A numeric value indicating the min scroll position.
    *   max - A numeric value indicating the max scroll position.
    */
    onChange: EventEmitter<CustomEvent>;
    /** @description Redraws the element.
    */
    refresh(): void;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<ScrollBarComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollBarComponent, "smart-scroll-bar, [smart-scroll-bar]", ["smart-scroll-bar"], { "animation": "animation"; "disabled": "disabled"; "largeStep": "largeStep"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "max": "max"; "mechanicalAction": "mechanicalAction"; "messages": "messages"; "min": "min"; "orientation": "orientation"; "readonly": "readonly"; "rightToLeft": "rightToLeft"; "showButtons": "showButtons"; "step": "step"; "theme": "theme"; "unfocusable": "unfocusable"; "value": "value"; }, { "onChange": "onChange"; }, never>;
}
