import type { RendererService } from "../../renderer";
import type { RouteColors } from "./types";
import type { LayerManager } from "./layerManager";
/**
 * Manages static route lines (passed + remaining) and an animated overlay
 * on the remaining segment.
 */
export interface RouteLineManager {
    setRouteLines(passed: ReadonlyArray<{
        readonly p0: {
            x: number;
            y: number;
        };
        readonly p1: {
            x: number;
            y: number;
        };
    }>, remaining: ReadonlyArray<{
        readonly p0: {
            x: number;
            y: number;
        };
        readonly p1: {
            x: number;
            y: number;
        };
    }>, options: {
        readonly linesLayer: string;
        readonly animatedLinesLayer: string;
        readonly resetAnimation?: boolean;
    }): void;
    /** Stop animation, wipe both lines layers. */
    clearLines(): void;
    /** Alias for {@link clearLines}. */
    destroy(): void;
}
/**
 * Create a {@link RouteLineManager} that renders `LineDef` segments
 * into layers managed by the given {@link LayerManager}.
 */
export declare function createRouteLineManager(layerManager: LayerManager, rendererService: RendererService, colors: RouteColors): RouteLineManager;
//# sourceMappingURL=routeLineManager.d.ts.map