import * as _angular_core from '@angular/core'; import { AfterViewInit, OnDestroy } from '@angular/core'; import * as i4 from 'tableau-ui-angular/icon'; import { IconParams } from 'tableau-ui-angular/icon'; import * as i2 from 'tableau-ui-angular/button'; import * as i3 from 'tableau-ui-angular/common'; declare class ArrowScrollComponent implements AfterViewInit, OnDestroy { /** * The type of scroll behavior to use. * 'default' uses the default scroll behavior, * 'arrow' uses arrow buttons for scrolling. */ readonly $scrollType: _angular_core.InputSignal<"arrow" | "default">; /** * The direction of the scroll. * 'horizontal' scrolls horizontally, * 'vertical' scrolls vertically. */ readonly $scrollDirection: _angular_core.InputSignal<"horizontal" | "vertical">; /** * The icon to use for the back scroll button. * This should be a valid Material Symbols icon name. * If not provided, 'keyboard_arrow_up' will be used for vertical, 'keyboard_arrow_left' for horizontal scrolling. */ readonly $backIcon: _angular_core.InputSignal; /** * The icon to use for the forward scroll button. * This should be a valid Material Symbols icon name. * If not provided, 'keyboard_arrow_down' will be used for vertical, 'keyboard_arrow_right' for horizontal scrolling. */ readonly $forwardIcon: _angular_core.InputSignal; /** * Parameters for the icons used in the scroll buttons. * This allows customization of the icon appearance, such as size and color. * @default undefined */ readonly $iconParams: _angular_core.InputSignal>; /** * Gap between the scroll buttons the scroll container, can be adjusted to fit design requirements. * @default '0.25rem' */ readonly $buttonsGap: _angular_core.InputSignal; /** * Color of the scroll buttons, can be adjusted to fit design requirements. * @default 'plain' */ readonly $buttonsColor: _angular_core.InputSignal<"error" | "plain" | "primary" | "secondary">; /** * CSS color for the scroll button icons, can be adjusted to fit design requirements. * @default undefined */ readonly $buttonsCssColor: _angular_core.InputSignal; /** * The amount to scroll when the scroll buttons are clicked. * This value is in pixels for vertical scrolling and in pixels for horizontal scrolling. * @default 100 */ readonly $buttonScrollAmount: _angular_core.InputSignal; /** * Whether to show a separator between the scroll buttons and the scroll container. * @default false */ readonly $showScrollButtonSeparator: _angular_core.InputSignal; private readonly $scrollContainer; protected readonly $actualBackIcon: _angular_core.Signal; protected readonly $actualForwardIcon: _angular_core.Signal; private readonly $scrollContainerDimensions; protected readonly $scrollArrowsVisible: _angular_core.Signal; private readonly scrollDirectionChanged; private readonly $scrollLeft; private readonly $scrollTop; readonly $canScroll: _angular_core.Signal<{ back: boolean; forward: boolean; }>; private observer; private scrollHandler; ngAfterViewInit(): void; ngOnDestroy(): void; onResize(): void; private recalculateScrollContainerDimensions; private wheelHandler; private overrideMouseWheelForHorizontal; private removeMouseWheelOverride; scroll(direction: 'back' | 'forward'): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class TableauUiArrowScrollModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { ArrowScrollComponent, TableauUiArrowScrollModule };