import { CreateDependencies, CreateNodesV2 } from '@nx/devkit';

declare const name = "storm-software/rust";
declare const description = "Plugin for parsing Cargo.toml files";
type CargoPluginProfileMap = Record<string, string> & {
    development?: string;
    production?: string;
};
declare const DefaultCargoPluginProfileMap: {
    development: string;
    production: string;
};
/**
 * Options for configuring the Storm Rust Nx plugin
 */
interface CargoPluginOptions {
    /**
     * Whether to include Rust applications as projects in the workspace
     */
    includeApps?: boolean;
    /**
     * Whether to skip generating documentation for the projects
     */
    skipDocs?: boolean;
    /**
     * The Rust toolchain to use for executing cargo commands
     */
    toolchain?: "stable" | "beta" | "nightly";
    /**
     * Custom profile mappings for cargo build profiles
     */
    profiles?: CargoPluginProfileMap;
}
/**
 * Create nodes for Rust projects based on Cargo.toml files
 */
declare const createNodesV2: CreateNodesV2<CargoPluginOptions | undefined>;
/**
 * Create dependencies between Rust projects based on Cargo metadata
 *
 * @param options - The user provided plugin options
 * @param context - The plugin context
 * @returns An array of project graph dependencies
 */
declare const createDependencies: CreateDependencies<CargoPluginOptions>;

export { type CargoPluginOptions, type CargoPluginProfileMap, DefaultCargoPluginProfileMap, createDependencies, createNodesV2, description, name };
