import { EventEmitter } from '@angular/core';
import { Geometry, PerfectScrollbarDirective, Position } from 'ngx-perfect-scrollbar';
/**
* Define possible scroll directions for {@link TsScrollbarsComponent}.
*/
export declare type TsScrollbarsScrollDirections = 'any' | 'both' | 'x' | 'y';
/**
* A class that represents the current geometric state of scrolling for {@link TsScrollbarsComponent}.
*/
export declare class TsScrollbarsGeometry extends Geometry {
}
/**
* A class that represents the current scrollbar positions for {@link TsScrollbarsComponent}.
*/
export declare class TsScrollbarPosition extends Position {
}
/**
* The scrollbars UI Component
*
* @example
* My content...
*
* https://getterminus.github.io/ui-demos-release/components/scrollbars
*/
export declare class TsScrollbarsComponent {
/**
* Define the default component ID
*/
protected _uid: string;
/**
* Define the speed at which to scroll during automated movements
*/
protected scrollSpeed: number;
/**
* Return an object containing scrollbar geometry.
*
* @returns An object with all geometry information
*/
get geometry(): TsScrollbarsGeometry | null;
/**
* Return the current scrollbar position.
*
* @returns The current scrollbar position
*/
get position(): TsScrollbarPosition | null;
/**
* Define an ID for the component
*
* @param value
*/
set id(value: string);
get id(): string;
protected _id: string;
/**
* Define if the scrollbars are disabled
*/
isDisabled: boolean;
/**
* Access underlying scrollbar directive
*/
scrollbar: PerfectScrollbarDirective;
/**
* Event Emitters
*/
readonly scrollDown: EventEmitter;
readonly scrollLeft: EventEmitter;
readonly scrollRight: EventEmitter;
readonly scrollUp: EventEmitter;
readonly scrollX: EventEmitter;
readonly scrollY: EventEmitter;
readonly xReachEnd: EventEmitter;
readonly xReachStart: EventEmitter;
readonly yReachEnd: EventEmitter;
readonly yReachStart: EventEmitter;
/**
* Determine if a direction is scrollable.
*
* See {@link TsScrollbarsScrollDirections} for all possible options.
*
* @param direction - The scroll direction to check
* @returns Whether the direction is currently scrollable
*/
scrollable(direction?: TsScrollbarsScrollDirections): boolean | null;
/**
* Scroll to a location
*
* @param x - The value to scroll the x axis
* @param y - The value to scroll the y axis
* @param speed
*/
scrollTo(x: number, y?: number, speed?: number): void;
/**
* Scroll to element
*
* @param queryString - The string to query the DOM for
* @param speed - The speed to move at
* @param offset - A px offset
*/
scrollToElement(queryString: string, speed?: number, offset?: number): void;
/**
* Scroll to the bottom
*
* @param speed - The rate at which to move
* @param offset - An offset when scrolling
*/
scrollToBottom(speed?: number, offset?: number): void;
/**
* Scroll to the left
*
* @param speed - The rate at which to move
* @param offset - An offset when scrolling
*/
scrollToLeft(speed?: number, offset?: number): void;
/**
* Scroll to the right
*
* @param speed - The rate at which to move
* @param offset - An offset when scrolling
*/
scrollToRight(speed?: number, offset?: number): void;
/**
* Scroll to the top
*
* @param speed - The rate at which to move
* @param offset - An offset when scrolling
*/
scrollToTop(speed?: number, offset?: number): void;
/**
* Trigger an update on the underlying scrollbar library instance.
*/
update(): void;
}