import { AgentData, RoutePlannerInputData, RoutePlannerResultData, Scenario, SolutionLabel } from "./models";
import { TimelineData, TimelineItem } from "./models/interfaces/agent-timeline/timeline";
export declare class AgentTimelineGenerator {
    private static colors;
    timelineTemplate: (timelineData: TimelineData, timeline: TimelineItem, index: number, timelineType: 'time' | 'distance', storageColor: string, agentIcon: string, timeLabels: any[], distanceLabels: any[], solution?: RoutePlannerResultData) => string;
    storageColor: string;
    container: HTMLElement;
    constructor(container: HTMLElement);
    static getAgentColorByIndex(index: number): string;
    generateAgentTimeline(timelineType: 'time' | 'distance', hasLargeDescription: boolean, task: RoutePlannerInputData, scenario: Scenario, timeLabels: SolutionLabel[], distanceLabels: SolutionLabel[], onToggleRoute?: (timeline: any) => void, solution?: RoutePlannerResultData): TimelineData;
    drawTimelines(result: TimelineData, timelineType: 'time' | 'distance', timeLabels: any[], distanceLabels: any[], scenario: Scenario, solution?: RoutePlannerResultData): void;
    private generateTimelinesData;
    private generateItemsByTime;
    private isWaypointStorage;
    private generateItemsByDistance;
    private getAgentIconByMode;
    generateAgentDescription(agent: AgentData, scenario: Scenario, hasLargeDescription: boolean): {
        description: string;
        hasLargeDescription: boolean;
    };
    toPrettyTime(sec_num: number): string;
    loadFontAwesome(): void;
    initializeGlobalTooltip(): void;
    attachToggleRouteHandler(timelines: any[], container: HTMLElement, onToggleRoute?: (timeline: any) => void): void;
    injectHoverStyle(): void;
    toPrettyDistance(meters: number): string;
}
