import type { RolldownPluginOption } from 'rolldown';
/** User-supplied entry: a package name + optional named export and options. */
export interface PluginByName {
    name: string;
    /** Named export to invoke. Defaults to the module's default export. */
    export?: string;
    /** Options forwarded to the plugin factory. */
    options?: unknown;
}
/** Type-guard: a `PluginByName` shape rather than a Rolldown plugin object. */
export declare function isPluginByName(value: unknown): value is PluginByName;
/**
 * Resolve a list of mixed user plugins. Entries that are already plugin
 * objects pass through unchanged; entries shaped like `PluginByName` get
 * dynamically imported, instantiated with their `options`, and returned in
 * the same position. Resolution is anchored at `projectDir`.
 *
 * Throws when a name fails to resolve, when the chosen export is not a
 * function, or when the factory returns nothing.
 */
export declare function resolveUserPlugins(plugins: ReadonlyArray<RolldownPluginOption | PluginByName>, projectDir: string): Promise<RolldownPluginOption[]>;
