import Konva from 'konva';
import type { Theme, TrackType } from '../../core/models';
/**
 * Konva工具类，封装常用的Konva操作
 */
export declare class KonvaUtils {
    static readonly RESIZE_AREA_WIDTH = 3;
    /**
     * 创建舞台
     */
    static createStage(container: HTMLDivElement, width: number, height: number): Konva.Stage;
    /**
     * 创建图层
     */
    static createLayer(name: string): Konva.Layer;
    /**
     * 创建矩形
     */
    static createRect(x: number, y: number, width: number, height: number, fill?: string, stroke?: string, strokeWidth?: number): Konva.Rect;
    /**
     * 创建文本
     */
    static createText(text: string, x: number, y: number, fontSize?: number, fontFamily?: string, fill?: string, align?: string, verticalAlign?: string): Konva.Text;
    /**
     * 创建线条
     */
    static createLine(points: number[], stroke?: string, strokeWidth?: number): Konva.Line;
    /**
     * 创建分组
     */
    static createGroup(x?: number, y?: number): Konva.Group;
    /**
     * 创建播放头
     */
    static createPlayhead(x: number, y: number, height: number): Konva.Group;
    /**
     * 绘制时间刻度
     */
    static drawTimeTick(layer: Konva.Layer, x: number, y: number, height: number, time: number, theme: {
        timeTick: string;
        timeText: string;
    }, tickType: 'major' | 'minor', timeScaleHeight?: number): void;
    /**
     * 绘制网格线
     */
    static drawGrid(layer: Konva.Layer, x: number, y: number, width: number, height: number, gridSize: number): void;
    /**
     * 清空图片缓存
     */
    static clearImageCache(): void;
    /**
     * 创建片段组
     */
    static createClipGroup(x: number, y: number, width: number, height: number, clipName: string, duration: number, theme: Theme, isSelected?: boolean, thumbnails?: string[], videoSrc?: string, clipType?: TrackType, hasSeparatedAudio?: boolean, deferCoverRender?: boolean, audioBadgeText?: string): Konva.Group;
    /**
     * 更新片段组
     */
    static updateClipGroup(group: Konva.Group, width: number, height: number, clipName: string, duration: number, theme?: Theme, isSelected?: boolean, thumbnails?: string[], videoSrc?: string, clipType?: TrackType, hasSeparatedAudio?: boolean, deferCoverRender?: boolean, audioBadgeText?: string): void;
    /**
     * 创建选中效果
     */
    static createSelectionEffect(x: number, y: number, width: number, height: number): Konva.Rect;
    /**
     * 时间到像素的转换
     */
    static timeToPixels(time: number, zoom: number): number;
    /**
     * 像素到时间的转换
     */
    static pixelsToTime(pixels: number, zoom: number): number;
}
