import { TerminalAgentRunner, type EmbeddedAgentKind } from './services/TerminalAgentRunner';
import type { Framework } from './services/ProjectDetectionService';
export type CLIOptions = {
    userPort?: number;
    rivetPort?: number;
    help?: boolean;
    version?: boolean;
    debug?: boolean;
    noTelemetry?: boolean;
    noBrowser?: boolean;
    framework?: 'nextjs' | 'vite' | 'cra' | 'remix' | 'svelte' | 'static';
    entry?: string;
    styleFramework?: 'tailwind';
    tailwindConfig?: string;
    hostedDemoMode?: boolean;
    noGit?: boolean;
    demoAllowAnonymous?: boolean;
    demoNoSessionProvisioning?: boolean;
    demoTemplateProject?: string;
    demoWorktreesRoot?: string;
    demoSessionTtlMinutes?: number;
    demoMaxActiveSessions?: number;
    demoBaseRivetPort?: number;
    demoPublicBaseUrl?: string;
    agent?: EmbeddedAgentKind;
    agentBin?: string;
    claudeBin?: string;
    model?: string;
    agentTimeoutSeconds?: number;
};
export declare const DEFAULT_PORT = 4000;
export declare const DEFAULT_USER_PORT = 3000;
type AgentDevServerContext = {
    ownership: 'external' | 'none';
    host: string | null;
    port: number | null;
    startedByRivet: false;
};
type AgentDevServerContextOptions = {
    framework: Framework;
    devServerHost?: string;
    userDevServerPort: number;
};
/**
 * Builds the dev-server context advertised to the embedded agent UI.
 */
export declare const buildAgentDevServerContext: ({ framework, devServerHost, userDevServerPort, }: AgentDevServerContextOptions) => AgentDevServerContext;
/**
 * Returns whether embedded agent variants can be offered for this runtime.
 */
export declare const isAgentVariantsEnabled: (options: Pick<CLIOptions, "noGit">) => boolean;
/**
 * @effect Stops active terminal agent processes before the CLI exits on OS signals.
 */
export declare const registerAgentSignalHandlers: (runner: Pick<TerminalAgentRunner, "stopActiveRuns">) => void;
export declare const main: (args?: string[]) => Promise<void>;
export declare const parseArgs: (args: string[]) => CLIOptions;
export {};
//# sourceMappingURL=index.d.ts.map