import { ReadonlySignal, Signal } from '@preact/signals-core'; import { Matrix4, Vector2Tuple } from 'three'; import { ColorRepresentation } from './utils.js'; import { ClippingRect } from './clipping.js'; import { PanelProperties } from './panel/instanced-panel.js'; import { OrderInfo } from './order.js'; import { PanelGroupProperties } from './panel/instanced-panel-group.js'; import { EventHandlersProperties } from './events.js'; import { Properties } from './properties/index.js'; import { Container } from './components/container.js'; export type ScrollEventHandlers = Pick; export declare function computedGlobalScrollMatrix(properties: Properties, scrollPosition: Signal, globalMatrix: Signal): ReadonlySignal; export declare function computedAnyAncestorScrollable(parentSignal: Signal): ReadonlySignal; export declare function setupScrollHandlers(target: Signal, container: Container, abortSignal: AbortSignal): void; export declare function setupScroll(container: Container): void; /** * true = positivie * false = negative */ export type Sign = boolean; type ScrollbarWidthProperties = { scrollbarWidth?: number; }; type ScrollbarBorderSizeProperties = { scrollbarBorderRightWidth?: number; scrollbarBorderTopWidth?: number; scrollbarBorderLeftWidth?: number; scrollbarBorderBottomWidth?: number; }; export type ScrollbarProperties = { scrollbarColor?: ColorRepresentation; scrollbarZIndex?: number; } & ScrollbarWidthProperties & ScrollbarBorderSizeProperties & { [Key in Exclude as `scrollbar${Capitalize}`]?: PanelProperties[Key]; }; export declare function setupScrollbars(container: Container, parentClippingRect: Signal, prevOrderInfo: Signal, prevPanelDeps: ReadonlySignal>): void; export {};