import { ModuleDesc, ModuleName, ModuleEventMap, ModuleCmdMap, CmdFun } from '../types/protocol';
import { Progress } from '../types/upload';
import { PreviewGadgetOptions, PreviewH5Options, PreviewBlockOptions, PushDebugOptions, PreviewH5BlockOptions } from '../types/preview';
export declare enum EventEnum {
    progress = "progress",
    previewed = "previewed",
    previewError = "previewError"
}
export interface EventMap extends ModuleEventMap<EventEnum> {
    progress: {
        type: '';
        params: Progress;
    };
    previewed: {
        type: '';
        params: {
            schemaUrl?: string;
            warnMsgs?: string[];
        };
    };
    previewError: {
        type: '';
        params: {
            error: Error;
        };
    };
}
export declare enum CmdEnum {
    previewGadget = "Preview.previewGadget",
    previewGadgetPlugin = "Preview.previewGadgetPlugin",
    previewH5 = "Preview.previewH5",
    previewBlock = "Preview.block",
    pushDebugMsg = "Debug.push",
    previewH5Block = "Preview.H5Block"
}
type CmdPreviewGadget = (m: ModuleName.preview, cmd: CmdEnum.previewGadget, options: PreviewGadgetOptions) => Promise<{
    schemaUrl: string;
} | void>;
type CmdPreviewGadgetPlugin = (m: ModuleName.preview, cmd: CmdEnum.previewGadgetPlugin, options: PreviewGadgetOptions) => Promise<void>;
type CmdPreviewH5 = (m: ModuleName.preview, cmd: CmdEnum.previewH5, options: PreviewH5Options) => Promise<{
    url?: string;
}>;
type CmdPreviewBlock = (m: ModuleName.preview, cmd: CmdEnum.previewBlock, options: PreviewBlockOptions) => Promise<void>;
type CmdPreviewH5Block = (m: ModuleName.preview, cmd: CmdEnum.previewH5Block, optiosn: PreviewH5BlockOptions) => Promise<{
    previewToken: string;
}>;
type CmdDebugPush = (m: ModuleName.preview, cmd: CmdEnum.pushDebugMsg, options: PushDebugOptions) => Promise<string | undefined>;
export type Command = CmdPreviewGadget & CmdPreviewGadgetPlugin & CmdPreviewH5 & CmdPreviewBlock & CmdDebugPush & CmdPreviewH5Block;
export interface CmdMap extends ModuleCmdMap<CmdEnum> {
    [CmdEnum.previewGadget]: CmdFun<CmdPreviewGadget>;
    [CmdEnum.previewGadgetPlugin]: CmdFun<CmdPreviewGadgetPlugin>;
    [CmdEnum.previewH5]: CmdFun<CmdPreviewH5>;
    [CmdEnum.previewBlock]: CmdFun<CmdPreviewBlock>;
    [CmdEnum.pushDebugMsg]: CmdFun<CmdDebugPush>;
    [CmdEnum.previewH5Block]: CmdFun<CmdPreviewH5Block>;
}
export declare const PreviewDesc: ModuleDesc<EventMap, CmdMap, ModuleName.account | ModuleName.compile | ModuleName.storage | ModuleName.ui | ModuleName.service | ModuleName.eventTracker>;
export {};
