import { PromiseExecutor, ExecutorContext } from '@nx/devkit';
import { BaseExecutorSchema } from '@storm-software/workspace-tools/base/base-executor.schema';

interface ServeExecutorSchema extends BaseExecutorSchema {
  name?: string;
  noBundle?: boolean;
  env?: string;
  compatibilityDate?: string;
  compatibilityFlags?: string[];
  latest?: boolean;
  ip?: string;
  port?: number;
  inspectorPort?: number;
  routes?: string[];
  host?: string;
  localProtocol?: "http" | "https";
  localUpstream?: string;
  assets?: string;
  site?: string;
  siteInclude?: string[];
  siteExclude?: string[];
  upstreamProtocol?: "http" | "https";
  var?: string[];
  define?: string[];
  tsconfig?: string;
  minify?: boolean;
  nodeCompat?: boolean;
  persistTo?: string;
  remote?: boolean;
  testScheduled?: boolean;
  logLevel?: "debug" | "info" | "log" | "warn" | "error" | "none";
}

declare function serveExecutor(options: ServeExecutorSchema, context: ExecutorContext): AsyncGenerator<{
    success: boolean;
    baseUrl: string;
}, {
    success: boolean;
}, any>;
declare const _default: PromiseExecutor<ServeExecutorSchema>;

export { _default as default, serveExecutor };
