import type { Location } from './types'; import type { Container } from './container'; import type { FacileDanmaku } from './danmaku/facile'; export interface TrackOptions { index: number; location: Location; container: Container; list: Array>; } export declare class Track { private _container; isLock: boolean; index: number; location: Location; list: Array>; constructor({ index, list, location, container }: TrackOptions); get width(): number; get height(): number; each(fn: (danmaku: FacileDanmaku) => unknown | boolean): void; lock(): void; unlock(): void; clear(): void; /** * @internal */ _add(dm: FacileDanmaku): void; /** * @internal */ _remove(dm: FacileDanmaku): void; /** * @internal */ _updateLocation(location: Location): void; /** * @internal */ _last(li: number): FacileDanmaku | null; }