type Ele = Element | HTMLElement;
type Direction = 'y' | 'x';
type Stage = typeof globalThis | Window | Ele;
export type DirectionPositionName = 'Top' | 'Left';
export type StageSizeName = 'Height' | 'Width';
type ScrollName = 'pageYOffset' | 'pageXOffset' | 'scrollTop' | 'scrollLeft';
export interface StatusParams {
stage?: Stage;
direction?: Direction;
functions?: [(status: ScrollStatus) => void, ScrollPosition?][];
targetPercentage?: number;
threshold?: number;
updateFunction?: (status: ScrollStatus) => void;
}
export default class ScrollStatus {
stage: Stage;
direction: Direction;
functions: [(status: ScrollStatus) => void, ScrollPosition?][];
targetPercentage: number;
scrollPosition: number;
endScrollPosition: number;
threshold?: number;
ScrollPosition: ScrollPosition;
updateFunction?: (status: ScrollStatus) => void;
stageSize: number;
contentSize: number;
stageSizeName?: StageSizeName;
directionPositionName: DirectionPositionName;
constructor();
setVal(opt: StatusParams): this;
scrollEventUpdate(): void;
update(): void;
setDirectionInfo(): void;
}
export declare class ScrollPosition {
stage: Stage;
targetPercentage: number;
threshold?: number;
stageSize: number;
direction: Direction;
scrollPosition: number;
endScrollPosition: number;
scrollName: ScrollName;
constructor(opt: ScrollStatus);
getScrollPosition(): number;
generateScrollPosition(): number;
}
export declare const Status: ScrollStatus;
export {};