/// <reference path="../../pxtlib.d.ts" />
import * as Blockly from "blockly";
import svg = pxt.svgUtil;
import { FieldAssetEditor } from "./field_asset";
export interface FieldAnimationOptions {
    initWidth: string;
    initHeight: string;
    disableResize: string;
    filter?: string;
    lightMode: boolean;
    taggedTemplate?: string;
}
export interface ParsedFieldAnimationOptions {
    initWidth: number;
    initHeight: number;
    disableResize: boolean;
    filter?: string;
    lightMode: boolean;
    taggedTemplate?: string;
}
export declare class FieldAnimationEditor extends FieldAssetEditor<FieldAnimationOptions, ParsedFieldAnimationOptions> {
    protected frames: string[];
    protected preview: svg.Image;
    protected animateRef: any;
    protected asset: pxt.Animation;
    protected initInterval: number;
    initView(): void;
    showEditor_(): void;
    render_(): void;
    protected getAssetType(): pxt.AssetType;
    protected createNewAsset(text?: string): pxt.Asset;
    protected onEditorClose(newValue: pxt.Animation): void;
    protected getValueText(): string;
    protected redrawPreview(): void;
    protected onMouseEnter: (e: MouseEvent) => void;
    protected onDocumentMouseMove: (e: MouseEvent) => void;
    protected cancelAnimation: () => void;
    protected getParentIntervalBlock(): Blockly.Block;
    protected setParentInterval(interval: number): void;
    protected getParentInterval(): number;
    protected parseFieldOptions(opts: FieldAnimationOptions): ParsedFieldAnimationOptions;
    onDispose(): void;
}
