/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, EventEmitter, OnChanges, TemplateRef, NgZone, Renderer2, OnDestroy } from '@angular/core';
import { AnimationEvent } from '@angular/animations';
import { AnimationState, ScrollViewPagerOverlay } from './enums';
import { ItemChangedEvent } from './change-event-args';
import { DataCollection } from './data.collection';
import { Direction } from './direction';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { SVGIcon } from '@progress/kendo-svg-icons';
import * as i0 from "@angular/core";
/**
* Represents the [Kendo UI ScrollView component for Angular](slug:overview_scrollview).
*
* Use the ScrollViewComponent to display a horizontally scrollable list of items. You can customize the content and navigation.
*
* @example
* ```html
*
*
* {{item.title}}
*
*
*
* ```
*
* @remarks
* Supported children components are: {@link CustomMessagesComponent}
*/
export declare class ScrollViewComponent implements OnChanges, OnDestroy {
protected element: ElementRef;
private localization;
private ngZone;
private renderer;
/**
* @hidden
*/
chevronLeftIcon: SVGIcon;
/**
* @hidden
*/
chevronRightIcon: SVGIcon;
/**
* Provides the data source for the ScrollView ([see example](slug:datasources_scrollview)).
* @default []
*/
data: Array;
/**
* Sets the current item index ([see example](slug:activeitems_scrollview)).
* @default 0
*/
set activeIndex(value: number);
get activeIndex(): number;
/**
* Sets the width of the ScrollView ([see example](slug:dimensions_scrollview)).
* By default, the width is not set and must be explicitly defined.
*/
width: string;
/**
* Sets the height of the ScrollView ([see example](slug:dimensions_scrollview)).
* By default, the height is not set and must be explicitly defined.
*/
height: string;
/**
* Enables or disables endless scrolling mode, where items loop endlessly ([see example](slug:endlessscrolling_scrollview)).
* @default false
*/
endless: boolean;
/**
* Sets the pager overlay style to `dark`, `light`, or `none`.
* @default 'none'
*/
pagerOverlay: ScrollViewPagerOverlay;
/**
* Enables or disables built-in animations ([see example](slug:animations_scrollview)).
* @default true
*/
animate: boolean;
/**
* Enables or disables the built-in pager ([see example](slug:paging_scrollview)).
* @default false
*/
pageable: boolean;
/**
* Enables or disables the built-in navigation arrows ([see example](slug:arrows_scrollview)).
* @default false
*/
arrows: boolean;
/**
* Fires after the current item is changed.
*/
itemChanged: EventEmitter;
/**
* Fires after the `activeIndex` has changed. Allows for two-way binding of the `activeIndex` property.
*/
activeIndexChange: EventEmitter;
itemTemplateRef: TemplateRef;
itemWrapper: ElementRef;
prevButton: ElementRef;
nextButton: ElementRef;
scrollViewClass: boolean;
scrollViewRole: string;
scrollViewRoleDescription: string;
get scrollViewLightOverlayClass(): boolean;
get scrollViewDarkOverlayClass(): boolean;
get hostWidth(): string;
get hostHeight(): string;
tabIndex: number;
ariaLive: string;
get dir(): Direction;
touchAction: string;
animationState: AnimationState;
view: DataCollection;
/**
* @hidden
*/
scrollviewId: string;
isDataSourceEmpty: boolean;
private subs;
private _activeIndex;
private index;
private initialTouchCoordinate;
private pageIndex;
private transforms;
private get direction();
constructor(element: ElementRef, localization: LocalizationService, ngZone: NgZone, renderer: Renderer2);
ngOnInit(): void;
ngOnDestroy(): void;
ngOnChanges(_: any): void;
/**
* Navigates the ScrollView to the previous item.
*/
prev(): void;
/**
* Navigates the ScrollView to the next item.
*/
next(): void;
/**
* @hidden
*/
transitionEndHandler(e: AnimationEvent): void;
/**
* @hidden
*/
handlePress(e: any): void;
/**
* @hidden
*/
handleDrag(e: any): void;
/**
* @hidden
*/
handleRelease(e: any): void;
/**
* @hidden
*/
pageChange(idx: number): void;
/**
* @hidden
*/
inlineListItemStyles(idx: number): {
[key: string]: string;
};
/**
* @hidden
*/
displayLeftArrow(): boolean;
/**
* @hidden
*/
leftArrowClick(): void;
/**
* @hidden
*/
displayRightArrow(): boolean;
/**
* @hidden
*/
rightArrowClick(): void;
protected draggedInsideBounds(deltaX: number): boolean;
protected draggedEnoughToNavigate(deltaX: number): boolean;
protected isDragForbidden(deltaX: number): boolean;
private keyDown;
private navigate;
private changeIndex;
private get isRTL();
get prevButtonArrowIcon(): string;
get nextButtonArrowIcon(): string;
get prevButtonArrowSVGIcon(): SVGIcon;
get nextButtonArrowSVGIcon(): SVGIcon;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}