import { IAnimateOption, IActiveOption } from '@antv/l7-core';
import { ScaleConfig, ISourceCFG } 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 配置项 */
    scale?: ScaleConfig;
};
export declare type SizeStyleAttribute = {
    /** 映射字段 */
    field?: string;
    /** 映射值 */
    value?: number | number[] | Callback<number | number[]>;
    /** scale 配置项 */
    scale?: ScaleConfig;
};
export declare type ShapeStyleAttribute<T> = {
    /** 映射字段 */
    field?: string | string[];
    /** 映射值 */
    value?: T | T[] | Callback<T>;
    /** scale 配置项 */
    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 ScaleAttr = Record<string, ScaleConfig>;
/** 数据过滤 */
export declare type FilterAttr = {
    /** 映射字段 */
    field?: string | string[];
    /** 映射值 */
    value: Callback<boolean>;
};
/**
 * 数据配置
 */
export interface SourceOptions extends ISourceCFG {
    /** 数据 */
    data: any;
}
