import { Carousel } from './../index';
import { Animation, CarouselDisplayMode } 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, CarouselDisplayMode, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { Carousel } from './../index';
export declare class CarouselComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<Carousel>);
    private eventHandlers;
    nativeElement: Carousel;
    /** @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 The items switch automatically if set to true or to a custom number(representing the timeout in milliseconds). This property works if slideShow property is enabled. */
    get autoPlay(): boolean;
    set autoPlay(value: boolean);
    /** @description An array of objects. Each object defines an item. The following object properties are available: label - a string representing the label of the item.content - a string representing the content of the itemimage - a string representing a url link to an image.HTMLcontent - a string representing some HTML structure taht will be generated inside the item. */
    get dataSource(): any[];
    set dataSource(value: any[]);
    /** @description Specifies the timeout before a slide changes when a navigation button is pressed. Navigation buttons are repeat buttons that will repeat the oepration after the delay is passed. */
    get delay(): number;
    set delay(value: number);
    /** @description Enables or disables the element. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Disabled the possibility to navigated to an item by clicking on item in displayMode 3d. By default users can navigate to items that are not currently active by clicking on them. */
    get disableItemClick(): boolean;
    set disableItemClick(value: boolean);
    /** @description Determines the display mode. */
    get displayMode(): CarouselDisplayMode | string;
    set displayMode(value: CarouselDisplayMode | string);
    /** @description Hides the navigation buttons. */
    get hideArrows(): boolean;
    set hideArrows(value: boolean);
    /** @description Hides the slide indication panel that shows which item is currently in view (active item). */
    get hideIndicators(): boolean;
    set hideIndicators(value: boolean);
    /** @description Can be used to customize the slide indicator panel of the accordion. The property can be a string that represents the id of an HTMLTemplateElement in the DOM or it's direct reference. */
    get indicatorTemplate(): any;
    set indicatorTemplate(value: any);
    /** @description Determines the interval (in milliseconds) between a slide transitions when slideShow is enabled. */
    get interval(): number;
    set interval(value: number);
    /** @description Used to completely customize the content of an item. The property can be a string that represents the id of an HTMLTemplateElement in the DOM or it's direct reference. The content of the template can contain property bindings that refer to the dataSource. */
    get itemTemplate(): any;
    set itemTemplate(value: any);
    /** @description Activates/deactivates keyboard navigation. By default, items can not be navigated via keyboard */
    get keyboard(): boolean;
    set keyboard(value: boolean);
    /** @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 used to customize the format of the messages that are returned from the Localization Module. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Determines whether the the items should start over when the first or last item is reached. */
    get loop(): boolean;
    set loop(value: boolean);
    /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.  */
    get messages(): any;
    set messages(value: any);
    /** @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 When slideShow property is set to true, the carousel changes the active slide automatically with a delay set in interval property. */
    get slideShow(): boolean;
    set slideShow(value: boolean);
    /** @description Enables or disables switching to the previous/next slide via swiping left/right. By default swiping is disabled. */
    get swipe(): boolean;
    set swipe(value: boolean);
    /** @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 Activates/deactivates slide navigation via mouse wheel. By default it's disabled. */
    get wheel(): boolean;
    set wheel(value: boolean);
    /** @description Triggered when the active ( in view ) slide is changed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	index, 	previousIndex)
    *   index - The index of the new active slide.
    *   previousIndex - The index of the previous slide that was active.
    */
    onChange: EventEmitter<CustomEvent>;
    /** @description Triggered when the process of slide changing starts.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	index, 	previousIndex)
    *   index - The index of the new active slide.
    *   previousIndex - The index of the previous slide that was active.
    */
    onChanging: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the user swipes to the left inside the Carousel.
    *  @param event. The custom event. 	*/
    onSwipeleft: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the user swipes to the right inside the Carousel.
    *  @param event. The custom event. 	*/
    onSwiperight: EventEmitter<CustomEvent>;
    /** @description Navigates to the next slide.
    */
    next(): void;
    /** @description Pauses the slide show if slideShow is enabled.
    */
    pause(): void;
    /** @description Starts the slide show if slideShow is enabled.
    */
    play(): void;
    /** @description Navigates to the previous slide.
    */
    prev(): void;
    /** @description Navigates to a specific slide with the given index.
    * @param {number} index. The index of the target slide.
    */
    slideTo(index: number): 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<CarouselComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CarouselComponent, "smart-carousel, [smart-carousel]", ["smart-carousel"], { "animation": "animation"; "autoPlay": "autoPlay"; "dataSource": "dataSource"; "delay": "delay"; "disabled": "disabled"; "disableItemClick": "disableItemClick"; "displayMode": "displayMode"; "hideArrows": "hideArrows"; "hideIndicators": "hideIndicators"; "indicatorTemplate": "indicatorTemplate"; "interval": "interval"; "itemTemplate": "itemTemplate"; "keyboard": "keyboard"; "unlockKey": "unlockKey"; "locale": "locale"; "localizeFormatFunction": "localizeFormatFunction"; "loop": "loop"; "messages": "messages"; "readonly": "readonly"; "rightToLeft": "rightToLeft"; "slideShow": "slideShow"; "swipe": "swipe"; "theme": "theme"; "unfocusable": "unfocusable"; "wheel": "wheel"; }, { "onChange": "onChange"; "onChanging": "onChanging"; "onSwipeleft": "onSwipeleft"; "onSwiperight": "onSwiperight"; }, never>;
}
