import { Tick, TickConstructorArgs } from "./tick";
import { TickDataProvider } from "./tickDataProvider";
/**
 * A data provider for ticks that is backed by an in-memory array of ticks.
 */
export declare class TickListDataProvider implements TickDataProvider {
    ticks: readonly Tick[];
    private _cursorIndex;
    constructor(ticks: (Tick | TickConstructorArgs)[], tickSpacing: number);
    getTick(tick: number): Tick;
    /** Reset cursor for new swap */
    resetCursor(): void;
    nextInitializedTickWithinOneWord(tick: number, lte: boolean, tickSpacing: number): [number, boolean];
    /** Optimized version with cursor - O(1) for sequential access */
    nextInitializedTickWithinOneWordWithCursor(tick: number, lte: boolean, tickSpacing: number): [number, boolean];
    static toJSON(ticks: Tick[]): object;
    static fromJSON(ticksArray: any): TickListDataProvider;
}
