import StyleLayer from '../style_layer';
import CircleBucket from '../../data/bucket/circle_bucket';
import { LayoutPropsPossiblyEvaluated, PaintPropsPossiblyEvaluated } from './circle_style_layer_properties';
import { Transitionable, Transitioning, Layout, PossiblyEvaluated } from '../properties';
import { mat4 } from 'gl-matrix';
import Point from '../../util/point';
import type { FeatureState } from '../../style-spec/expression';
import type Transform from '../../geo/transform';
import type { Bucket, BucketParameters } from '../../data/bucket';
import type { LayoutProps, PaintProps } from './circle_style_layer_properties';
import type { LayerSpecification } from '../../style-spec/types';
declare class CircleStyleLayer extends StyleLayer {
    _unevaluatedLayout: Layout<LayoutProps>;
    layout: PossiblyEvaluated<LayoutProps, LayoutPropsPossiblyEvaluated>;
    _transitionablePaint: Transitionable<PaintProps>;
    _transitioningPaint: Transitioning<PaintProps>;
    paint: PossiblyEvaluated<PaintProps, PaintPropsPossiblyEvaluated>;
    constructor(layer: LayerSpecification);
    createBucket(parameters: BucketParameters<any>): CircleBucket<any>;
    queryRadius: (bucket: Bucket) => number;
    queryIntersectsFeature: (queryGeometry: Array<Point>, feature: VectorTileFeature, featureState: FeatureState, geometry: Array<Array<Point>>, zoom: number, transform: Transform, pixelsToTileUnits: number, pixelPosMatrix: mat4) => boolean;
}
export default CircleStyleLayer;
//# sourceMappingURL=circle_style_layer.d.ts.map