import type { Track } from './types'; /** * Queue with history tracking, shuffle, positional insert/remove, * and a 50-item history ring buffer. */ export declare class LavalinkQueue { private _tracks; /** * The 50 most recently finished tracks (newest first). * Useful for "previous track" features. */ readonly history: Track[]; get size(): number; get isEmpty(): boolean; /** Read-only view of the upcoming track list */ get tracks(): ReadonlyArray; /** * Add one or more tracks to the queue. * @param tracks Track or array of tracks to add. * @param position 0-based position to insert at. Omit to append. */ add(tracks: Track | Track[], position?: number): void; /** Remove and return the first track in the queue */ shift(): Track | undefined; /** * Remove track(s) by position. * @param start 0-based start index. * @param end 0-based end index (exclusive). Omit to remove one track. * @returns Removed tracks. */ remove(start: number, end?: number): Track[]; /** Fisher-Yates in-place shuffle */ shuffle(): void; /** Remove all upcoming tracks (does not affect history) */ clear(): void; /** Called internally when a track finishes — pushes to history ring */ addToHistory(track: Track): void; [Symbol.iterator](): Iterator; } //# sourceMappingURL=queue.d.ts.map