import { JsonExpr } from "./Expr"; /** * Interpolation mode used when computing a [[InterpolatedProperty]] value for a given zoom level. * @internal */ export declare enum InterpolationMode { Discrete = 0, Linear = 1, Cubic = 2, Exponential = 3 } /** * Interpolated property could have its value (some initial value should be provided) changed * according to an interpolation type. * * Here is an example of an interpolated property from a map style: * "lineWidth": { * "interpolation": "Linear", * "zoomLevels": [13, 14, 15], * "values": [ 1.5, 1.2, 0.9] * } * @internal */ export interface InterpolatedPropertyDefinition { interpolation?: "Discrete" | "Linear" | "Cubic" | "Exponential"; zoomLevels: number[]; values: T[]; exponent?: number; } /** * Checks if a property is interpolated. * @param p - property to be checked * @internal */ export declare function isInterpolatedPropertyDefinition(p: any): p is InterpolatedPropertyDefinition; /** * Converts an [[InterpolatedPropertyDefinition]] to a [[JsonExpr]]. * * @param property - A valid [[InterpolatedPropertyDefinition]] */ export declare function interpolatedPropertyDefinitionToJsonExpr(property: InterpolatedPropertyDefinition): JsonExpr; //# sourceMappingURL=InterpolatedPropertyDefs.d.ts.map