import Point from '../../util/point';
import StyleLayer from '../style_layer';
import LineBucket from '../../data/bucket/line_bucket';
import { LayoutPropsPossiblyEvaluated, PaintPropsPossiblyEvaluated } from './line_style_layer_properties';
import EvaluationParameters from '../evaluation_parameters';
import { Transitionable, Transitioning, Layout, PossiblyEvaluated } from '../properties';
import type { FeatureState } from '../../style-spec/expression';
import type { Bucket, BucketParameters } from '../../data/bucket';
import type { LayoutProps, PaintProps } from './line_style_layer_properties';
import type Transform from '../../geo/transform';
import type { LayerSpecification } from '../../style-spec/types';
declare class LineStyleLayer extends StyleLayer {
    _unevaluatedLayout: Layout<LayoutProps>;
    layout: PossiblyEvaluated<LayoutProps, LayoutPropsPossiblyEvaluated>;
    gradientVersion: number;
    stepInterpolant: boolean;
    _transitionablePaint: Transitionable<PaintProps>;
    _transitioningPaint: Transitioning<PaintProps>;
    paint: PossiblyEvaluated<PaintProps, PaintPropsPossiblyEvaluated>;
    constructor(layer: LayerSpecification);
    _handleSpecialPaintPropertyUpdate(name: string): void;
    gradientExpression(): import("../../style-spec/expression").StylePropertyExpression;
    recalculate(parameters: EvaluationParameters, availableImages: Array<string>): void;
    createBucket(parameters: BucketParameters<any>): LineBucket;
    queryRadius: (bucket: Bucket) => number;
    queryIntersectsFeature: (queryGeometry: Array<Point>, feature: VectorTileFeature, featureState: FeatureState, geometry: Array<Array<Point>>, zoom: number, transform: Transform, pixelsToTileUnits: number) => boolean;
    isTileClipped(): boolean;
}
export default LineStyleLayer;
//# sourceMappingURL=line_style_layer.d.ts.map