import type { GlobalProperties, Feature } from '../expression';
import type { CanonicalTileID } from '../../source/tile_id';
declare type FilterExpression = (globalProperties: GlobalProperties, feature: Feature, canonical?: CanonicalTileID) => boolean;
export declare type FeatureFilter = {
    filter: FilterExpression;
    needGeometry: boolean;
};
export default createFilter;
export { isExpressionFilter };
declare function isExpressionFilter(filter: any): boolean;
/**
 * Given a filter expressed as nested arrays, return a new function
 * that evaluates whether a given feature (with a .properties or .tags property)
 * passes its test.
 *
 * @private
 * @param {Array} filter maplibre gl filter
 * @returns {Function} filter-evaluating function
 */
declare function createFilter(filter: any): FeatureFilter;
//# sourceMappingURL=index.d.ts.map