import { AppTypeEnum } from './commonData';
import { CommonOptions } from './index';
import { GadgetPlatform, GadgetPCMode } from './upload';
interface PreviewBaseOptions extends CommonOptions {
    compilePath: string;
    appId: string;
    traceId?: string;
}
export interface PreviewGadgetOptions extends PreviewBaseOptions {
    platform: string;
    mode?: string;
    watch?: boolean;
    startPage?: string;
    debug?: boolean;
    fromSPA?: boolean;
    enableWebviewSafeDomain?: boolean;
    useNPM?: boolean;
}
export interface PreviewH5Options extends PreviewBaseOptions {
    platform: string;
}
export interface PreviewBlockOptions extends PreviewBaseOptions {
    watch?: boolean;
    docsUrl?: string;
    platform: string;
    host?: string;
    blockTypeID?: string;
    openExternal?: boolean;
}
export type DSLBlockHost = 'docs' | 'workplace' | 'search';
export type H5BlockHost = 'docx' | 'bitable';
export type Platform = 'pc' | 'mobile';
export interface PreviewH5BlockOptions extends PreviewBaseOptions {
    blockTypeID: string;
}
export interface previewH5BlockReturnType {
    previewToken: string;
}
export interface PushDebugOptions {
    appId: string;
    appType?: AppTypeEnum;
    extensionId?: string;
    serverUrl: string;
    targetPath: string;
    compilePath: string;
    fileServerPort: number;
    productName: string;
    previewType: PreviewType;
    previewPlatform?: GadgetPlatform;
    enableWebviewSafeDomain?: boolean;
    wsForDebug?: string;
    debugPreviewType?: string;
    startPage?: string;
    traceId?: string;
}
export declare enum GadgetMobileMode {
    Mobile = "mobile"
}
export type PreviewType = GadgetPCMode | GadgetMobileMode;
export declare enum DebugPreviewType {
    COMMON = "common_preview",
    DEBUG = "device_preview"
}
export {};
