import { Renderer } from "pixi.js"; import { DBase, DBaseOptions, DThemeBase } from "./d-base"; import { DBaseStateSet } from "./d-base-state-set"; import { DScrollBarThumb, DScrollBarThumbOptions } from "./d-scroll-bar-thumb"; export interface DScrollBarFadeOutOpiotns { delay?: number; } export interface DScrollBarOptions extends DBaseOptions { thumb?: DScrollBarThumbOptions; fadeOut?: DScrollBarFadeOutOpiotns; } export interface DThemeScrollBar extends DThemeBase { getFadeOutDelay(): number; } export declare abstract class DScrollBar = DScrollBarOptions> extends DBase { protected _start: number; protected _end: number; protected _thumb: DScrollBarThumb; protected _touchedAt: number; protected _isTouched: boolean; protected _fadeOutTimeoutId: number | null; protected _fadeOutDelay: number; protected _onFadeOutTimeoutBound: () => void; protected _isSilent: boolean; constructor(options?: OPTIONS); get thumb(): DScrollBarThumb; get start(): number; get end(): number; set(start: number, end: number, size: number, silently?: boolean): void; protected onChange(silently?: boolean): void; touch(silently?: boolean): void; isRegionVisible(): boolean; render(renderer: Renderer): void; onResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void; protected abstract updateThumb(width: number, height: number): void; protected onFadeOutTimeout(): void; protected onThumbStateChange(newState: DBaseStateSet, oldState: DBaseStateSet): void; protected onStateChange(newState: DBaseStateSet, oldState: DBaseStateSet): void; protected abstract newThumb(options?: DScrollBarThumbOptions): DScrollBarThumb; protected getType(): string; }