import { IAnimateOption, IActiveOption } from '@antv/l7-core';
import { ScaleConfig } from './common';
export declare type Callback<T> = (data: Record<string, any>) => T | T[];
/** 颜色色板 */
export declare type ColorsAttr = string | string[];
export declare type StyleAttribute<T> = {
    field?: string | string[];
    value?: T | T[] | Callback<T>;
};
export declare type ColorStyleAttribute = {
    field?: string | string[];
    value?: string | string[] | Callback<string>;
    scale?: ScaleConfig;
};
export declare type SizeStyleAttribute = {
    field?: string;
    value?: number | number[] | Callback<number | number[]>;
    scale?: ScaleConfig;
};
export declare type ShapeStyleAttribute<T> = {
    field?: string | string[];
    value?: T | T[] | Callback<T>;
    scale?: ScaleConfig;
};
export declare type RotateStyleAttribute = {
    field?: string;
    value?: number | number[] | Callback<number>;
};
/** 图形交互反馈 */
export declare type StateAttribute = {
    active?: boolean | IActiveOption;
    select?: boolean | IActiveOption;
};
/** 颜色 */
export declare type ColorAttr = string | Callback<string> | ColorStyleAttribute;
/** 大小 */
export declare type SizeAttr = number | number[] | Callback<number | number[]> | SizeStyleAttribute;
/** 旋转 */
export declare type RotateAttr = number | Callback<number> | RotateStyleAttribute;
/** 图形形状 */
export declare type ShapeAttr<T> = T | Callback<T> | ShapeStyleAttribute<T>;
/** 图形动画 */
export declare type AnimateAttr = boolean | Partial<IAnimateOption>;
/** 纹理贴图 */
export declare type TextureAttr = string;
/** 数据过滤 */
export declare type FilterAttr = {
    field?: string | string[];
    value: Callback<boolean>;
};
/** 聚合方法 */
export declare type AggregationMethod = 'count' | 'max' | 'min' | 'sum' | 'mean';
/** 网格聚合 */
export declare type GridAggregation = {
    /**
     * 聚合类型
     */
    type?: 'grid' | 'hexagon';
    /**
     * 聚合字段
     */
    field: string;
    /**
     * 网格半径
     */
    radius?: number;
    /**
     * 聚合方法
     */
    method?: AggregationMethod;
};
