import StyleLayer from '../style_layer';
import SymbolBucket from '../../data/bucket/symbol_bucket';
import { LayoutPropsPossiblyEvaluated, PaintPropsPossiblyEvaluated } from './symbol_style_layer_properties';
import { Transitionable, Transitioning, Layout, PossiblyEvaluated, PropertyValue } from '../properties';
import type { BucketParameters } from '../../data/bucket';
import type { LayoutProps, PaintProps } from './symbol_style_layer_properties';
import type EvaluationParameters from '../evaluation_parameters';
import type { LayerSpecification } from '../../style-spec/types';
import type { Feature } from '../../style-spec/expression';
import type { CanonicalTileID } from '../../source/tile_id';
declare class SymbolStyleLayer extends StyleLayer {
    _unevaluatedLayout: Layout<LayoutProps>;
    layout: PossiblyEvaluated<LayoutProps, LayoutPropsPossiblyEvaluated>;
    _transitionablePaint: Transitionable<PaintProps>;
    _transitioningPaint: Transitioning<PaintProps>;
    paint: PossiblyEvaluated<PaintProps, PaintPropsPossiblyEvaluated>;
    constructor(layer: LayerSpecification);
    recalculate(parameters: EvaluationParameters, availableImages: Array<string>): void;
    getValueAndResolveTokens(name: any, feature: Feature, canonical: CanonicalTileID, availableImages: Array<string>): any;
    createBucket(parameters: BucketParameters<any>): SymbolBucket;
    queryRadius: () => number;
    queryIntersectsFeature: () => boolean;
    _setPaintOverrides(): void;
    _handleOverridablePaintPropertyUpdate<T, R>(name: string, oldValue: PropertyValue<T, R>, newValue: PropertyValue<T, R>): boolean;
    static hasPaintOverride(layout: PossiblyEvaluated<LayoutProps, LayoutPropsPossiblyEvaluated>, propertyName: string): boolean;
}
export default SymbolStyleLayer;
//# sourceMappingURL=symbol_style_layer.d.ts.map