import Style from 'ol/style/Style';
/**
 * 清除样式缓存
 */
export declare function clearStyleCache(): void;
/**
 * 获取当前缓存大小
 */
export declare function getStyleCacheSize(): number;
/**
 * 获取多边形样式
 * 支持 symbol 数组配置（polygon + text），或单个 symbol 配置
 * 若 symbol 为空则显示默认半透明蓝色填充
 *
 * @example
 * // 简单多边形样式配置
 * { symbol: { fillColor: 'rgba(255,0,0,0.5)', strokeColor: '#ff0000', strokeWidth: 2 } }
 *
 * // 仅边框样式配置（无填充）
 * { symbol: { strokeColor: '#2563eb', strokeWidth: 3 } }
 *
 * // 虚线边框样式配置
 * { symbol: { fillColor: 'rgba(0,128,255,0.3)', strokeColor: '#0080ff', strokeWidth: 2, lineDash: [10, 5] } }
 *
 * // 带边框的多边形样式配置（双边框效果）
 * { symbol: { type: 'bordered', fillColor: 'rgba(255,255,255,0.8)', strokeColor: '#ffffff', strokeWidth: 4, borderColor: '#333333', borderWidth: 1 } }
 *
 * // 数组配置（多边形 + 文字）
 * {
 *   symbol: [
 *     { type: 'polygon', fillColor: 'rgba(255,0,0,0.5)', strokeColor: '#ff0000', strokeWidth: 2 },
 *     { type: 'text', field: 'name', font: '14px Arial', fillColor: [0,0,0] }
 *   ]
 * }
 *
 * // 数组配置（带边框多边形 + 文字）
 * {
 *   symbol: [
 *     { type: 'bordered', fillColor: 'rgba(255,255,255,0.8)', strokeColor: '#ffffff', strokeWidth: 4, borderColor: '#333333', borderWidth: 1 },
 *     { type: 'text', field: 'areaName', font: '12px Arial', fillColor: [0,0,0] }
 *   ]
 * }
 *
 * // ArcGIS simple-fill 配置
 * // style 可选值: 'solid', 'none', 'horizontal', 'vertical', 'cross', 'forward-diagonal', 'backward-diagonal', 'diagonal-cross'
 * { symbol: { type: 'simple-fill', style: 'solid', color: [255, 0, 0, 0.5], outline: { color: [0, 0, 0, 1], width: 2, style: 'solid' } } }
 * { symbol: { type: 'simple-fill', style: 'none', outline: { color: [255, 0, 0, 1], width: 3, style: 'dash' } } }
 *
 * // ArcGIS picture-fill 配置
 * { symbol: { type: 'picture-fill', url: '/path/to/pattern.png', width: 32, height: 32, outline: { color: [0, 0, 0, 1], width: 1 } } }
 *
 * // 数组配置（ArcGIS simple-fill + 文字）
 * {
 *   symbol: [
 *     { type: 'simple-fill', style: 'solid', color: [0, 128, 255, 0.4], outline: { color: [0, 0, 128, 1], width: 2, style: 'solid' } },
 *     { type: 'text', field: 'name', font: '12px Arial', fillColor: [0,0,0] }
 *   ]
 * }
 */
export declare function getPolygonStyle(symbol: any, attributes?: any, onPatternReady?: () => void): Style | Style[];
