import { Network } from '../grpc/server.js';
import { LogFormat, LogLevel } from '../logger/logger.js';
import type { Plugin } from './plugin.js';
declare const TELEMETRY_LEVEL_CHOICES: readonly ["none", "errors", "stats", "all"];
export type BaseArguments = {
    logLevel: LogLevel;
    logFormat: LogFormat;
    sentry: boolean;
    otelEndpoint: string;
    otelEndpointInsecure: boolean;
    telemetryLevel: (typeof TELEMETRY_LEVEL_CHOICES)[number];
};
export type ServeArguments = BaseArguments & {
    address: string;
    network: Network;
};
export type PackageArguments = BaseArguments & {
    message: string;
    distDir: string;
    docsDir: string;
    pluginVersion: string;
    pluginDirectory: string;
};
export declare const createServeCommand: (plugin: Plugin) => import("yargs").Argv<import("yargs").Omit<{}, "sentry" | "log-level" | "log-format" | "otel-endpoint" | "otel-endpoint-insecure" | "telemetry-level"> & import("yargs").InferredOptionTypes<{
    'log-level': {
        alias: string;
        type: "string";
        choices: LogLevel[];
        description: string;
        default: string;
    };
    'log-format': {
        alias: string;
        type: "string";
        choices: LogFormat[];
        description: string;
        default: string;
    };
    sentry: {
        type: "boolean";
        description: string;
        default: boolean;
    };
    'otel-endpoint': {
        type: "string";
        description: string;
        default: string;
    };
    'otel-endpoint-insecure': {
        type: "boolean";
        description: string;
        default: boolean;
    };
    'telemetry-level': {
        type: "string";
        description: string;
        hidden: true;
        choices: readonly ["none", "errors", "stats", "all"];
        default: string;
    };
}>>;
export {};
