import Point from "@mapbox/point-geometry";
import { Index } from "./labeler";
import { PaintSymbolizer } from "./symbolizer";
import { Bbox, Feature } from "./tilecache";
import { PreparedTile } from "./view";
export declare type Filter = (zoom: number, feature: Feature) => boolean;
export interface PaintRule {
    id?: string;
    minzoom?: number;
    maxzoom?: number;
    dataSource?: string;
    dataLayer: string;
    symbolizer: PaintSymbolizer;
    filter?: Filter;
}
export declare function paint(ctx: CanvasRenderingContext2D, z: number, preparedTilemap: Map<string, PreparedTile[]>, labelData: Index | null, rules: PaintRule[], bbox: Bbox, origin: Point, clip: boolean, debug?: string): number;
