import { type GeoPath, type GeoPermissibleObjects } from 'd3';
import { type Topology } from 'topojson-specification';
import { type LatLng } from './path';
export type Styles = Record<string, any>;
export type Style = 'background' | 'water' | 'graticule' | 'land' | 'border' | 'dots' | 'point' | 'line' | 'cursor' | 'arc';
export type StyleSet = Partial<Record<Style, Styles>>;
export type Features = {
    points?: LatLng[];
    lines?: {
        source: LatLng;
        target: LatLng;
    }[];
};
export type Layer = {
    styles: Styles;
    path: GeoPermissibleObjects;
};
/**
 * Create rendering layers.
 */
export declare const createLayers: (topology: Topology, features: Features, styles: StyleSet) => Layer[];
/**
 * Render layers created above.
 */
export declare const renderLayers: (generator: GeoPath, layers: Layer[], scale: number, styles: StyleSet) => CanvasRenderingContext2D;
//# sourceMappingURL=render.d.ts.map