import type { SpawnExtra, SpawnOptions } from './spawn';
import { spawn } from './spawn';
export interface DlxPackageOptions {
    /**
     * Package to install (e.g., '@cyclonedx/cdxgen@10.0.0').
     */
    package: string;
    /**
     * Force reinstallation even if package exists.
     */
    force?: boolean | undefined;
    /**
     * Additional spawn options for the execution.
     */
    spawnOptions?: SpawnOptions | undefined;
}
export interface DlxPackageResult {
    /** Path to the installed package directory. */
    packageDir: string;
    /** Path to the binary that was executed. */
    binaryPath: string;
    /** Whether the package was newly installed. */
    installed: boolean;
    /** The spawn promise for the running process. */
    spawnPromise: ReturnType<typeof spawn>;
}
/**
 * Execute a package via DLX - install if needed and run its binary.
 *
 * This is the Socket equivalent of npx/pnpm dlx/yarn dlx, but using
 * our own cache directory (~/.socket/_dlx) and installation logic.
 *
 * Auto-forces reinstall for version ranges to get latest within range.
 */
export declare function dlxPackage(args: readonly string[] | string[], options?: DlxPackageOptions | undefined, spawnExtra?: SpawnExtra | undefined): Promise<DlxPackageResult>;
