import { Layer } from 'ag-psd';
import { IInitFabricObj, IGradientOptions } from '../../interface';
import Converter from './Converter';
import { fabric } from 'fabric';
interface IStrokeStyle {
    stroke: string | IGradientOptions;
    strokeWidth: number;
    paintFirst?: string;
}
interface IPoint {
    x: number;
    y: number;
}
declare class ConverterCommon {
    converter: Converter;
    constructor(converter: Converter);
    /**
     * 转换通用的属性
     * @param layer 需要转换的层
     * @returns 包含位置、ID、名字、透明度信息
     */
    converterCommon(layer: Layer): IInitFabricObj;
    /**
     * 转换文字的填充色
     * @param layer 需要转换的层
     * @returns 转换结果
     */
    converterTextFillColor(layer: Layer): string | IGradientOptions;
    /**
     * 转换文字的角度，缩放，位置信息
     * @param layer 需要转换的文字层
     * @returns 转换结果
     */
    converterTextStyle(layer: Layer): IInitFabricObj;
    /**
     * 转换图片的剪切蒙版
     * @param layer 需要转换的层
     * @returns 转换的结果
     */
    converterImgClipMask(layer: Layer): IInitFabricObj | boolean;
    /**
     * 转换文字描边
     * @param layer 需要转换的层
     * @returns 转换结果
     */
    converterStroke(layer: Layer): IStrokeStyle;
    /**
     * 转换文字阴影
     * @param layer 需要转换的层
     * @returns 转换结果
     */
    converterShadow(layer: Layer): fabric.IShadowOptions | boolean;
    /**
     * 转换矢量图形的点
     * @param layer 需要转换的层
     * @returns 转换结果
     */
    converterVectorPoint(layer: Layer): IPoint[];
    /**
     * 转换矢量图形的颜色
     * @param layer 需要转换的层
     * @returns 转换结果
     */
    converterVectorFillColor(layer: Layer): string | IGradientOptions;
    getLayerBound(object: IInitFabricObj): {
        left: number;
        right: number;
        top: number;
        bottom: number;
    };
    private converterVectorStroke;
    private converterGradientOverlay;
    private resetColorLinear;
    private resetColorRadial;
    private resetColorStops;
    private getUpLayer;
}
export default ConverterCommon;
