import type { PropertyValue, PossiblyEvaluatedPropertyValue } from '../style/properties';
import type { InterpolationType } from '../style-spec/expression/definitions/interpolate';
declare const SIZE_PACK_FACTOR = 128;
export { getSizeData, evaluateSizeForFeature, evaluateSizeForZoom, SIZE_PACK_FACTOR };
export declare type SizeData = {
    kind: 'constant';
    layoutSize: number;
} | {
    kind: 'source';
} | {
    kind: 'camera';
    minZoom: number;
    maxZoom: number;
    minSize: number;
    maxSize: number;
    interpolationType: InterpolationType | undefined | null;
} | {
    kind: 'composite';
    minZoom: number;
    maxZoom: number;
    interpolationType: InterpolationType | undefined | null;
};
declare function getSizeData(tileZoom: number, value: PropertyValue<number, PossiblyEvaluatedPropertyValue<number>>): SizeData;
declare function evaluateSizeForFeature(sizeData: SizeData, { uSize, uSizeT }: {
    uSize: number;
    uSizeT: number;
}, { lowerSize, upperSize }: {
    lowerSize: number;
    upperSize: number;
}): number;
declare function evaluateSizeForZoom(sizeData: SizeData, zoom: number): {
    uSizeT: number;
    uSize: number;
};
//# sourceMappingURL=symbol_size.d.ts.map