/// import * as Blockly from "blockly"; import { FieldBase } from "./field_base"; export interface FieldAssetEditorOptions { initWidth?: string; initHeight?: string; disableResize?: string; } interface ParsedFieldAssetEditorOptions { initWidth?: number; initHeight?: number; disableResize?: boolean; lightMode?: boolean; } export declare abstract class FieldAssetEditor extends FieldBase { protected asset: pxt.Asset; protected params: V; protected blocksInfo: pxtc.BlocksInfo; protected lightMode: boolean; protected undoRedoState: any; protected pendingEdit: boolean; protected isEmpty: boolean; protected qName?: string; isGreyBlock: boolean; constructor(text: string, params: any, validator?: Blockly.FieldValidator); protected abstract getAssetType(): pxt.AssetType; protected abstract createNewAsset(text?: string): pxt.Asset; protected abstract getValueText(): string; onInit(): void; onValueChanged(newValue: string): string; saveState(_doFullSerialization?: boolean): any; loadState(state: any): void; showEditor_(): void; getFieldDescription(): string; protected showEditorFullscreen(editorKind: string, params: any): void; protected showEditorInWidgetDiv(editorKind: string, params: any): void; protected onFieldEditorHide(fv: pxt.react.FieldEditorView): void; render_(): void; getDisplayText_(): string; updateEditable(): void; getValue(): string; onDispose(): void; disposeOfTemporaryAsset(): void; clearTemporaryAssetData(): void; isTemporaryAsset(): boolean; getAsset(): pxt.Asset; updateAsset(asset: pxt.Asset): void; protected onEditorClose(newValue: pxt.Asset): void; protected redrawPreview(): void; protected parseValueText(newText: string): void; protected parseFieldOptions(opts: U): V; protected updateAssetMeta(): void; protected updateAssetListener(): void; protected assetChangeListener: () => void; protected isFullscreen(): boolean; protected temporaryAssetId(): string; } export declare class BlocklyTilemapChange extends Blockly.Events.BlockChange { protected oldRevision: number; protected newRevision: number; oldAssetId: string; newAssetId: string; fieldName: string; constructor(block: Blockly.Block, element: string, name: string, oldValue: any, newValue: any, oldRevision: number, newRevision: number); isNull(): boolean; run(forward: boolean): void; } export {};