import { Element } from '@ktmap/map';

interface Options {
    data: any[] | (() => Promise<any[]>);
}

/**
 *
 */
declare class RoadNetLayer extends Element<Record<string, unknown>> {
    private options;
    static NAME: string;
    constructor(options: Options);
    __init(): void;
    /**
     * TODO:待优化提取
     */
    initData(cb?: (...args: any[]) => void): Promise<void>;
    /**
     * 拿到路网数据，绘制基础路网
     */
    private drawRoadNet;
    /**
     * 绘制普通线段
     */
    private drawNormalLine;
}

declare module '@ktmap/map' {
    interface ElementType {
        RoadNetLayer: RoadNetLayer;
    }
    interface KTMap {
        RoadNetLayer: typeof RoadNetLayer;
    }
}

export { RoadNetLayer };
