export type ChatScrollDirection = 'up' | 'down'; export type ChatScrollIntentEvent = { direction: ChatScrollDirection | null; }; export type ChatScrollIntentOptions = { timeoutMs?: number; onIntentStart?: () => void; onIntentEnd?: () => void; }; export declare class ChatScrollIntent { #private; constructor(options?: ChatScrollIntentOptions); get isActive(): boolean; mark(): void; destroy(): void; } export declare const isScrollIntentKey: (key: string) => boolean; export declare const getWheelScrollDirection: (event: WheelEvent) => ChatScrollDirection | null; export declare const getTouchScrollDirection: (previousClientY: number | null, event: TouchEvent) => ChatScrollDirection | null; export declare const getKeyScrollDirection: (event: KeyboardEvent) => ChatScrollDirection | null; export declare const trackScrollIntent: (node: HTMLElement, onIntent: (_event: ChatScrollIntentEvent) => void) => { destroy(): void; };