import { ResolvedUserConfig, type UserConfig } from '../config/index.js';
import type { JsPlugin } from './type.js';
export * from './js/index.js';
export * from './rust/index.js';
export declare function resolveFarmPlugins(config: UserConfig): Promise<{
    rustPlugins: [string, string][];
    jsPlugins: JsPlugin[];
}>;
export declare function resolveAsyncPlugins<T>(arr: T[]): Promise<T[]>;
export declare function resolveConfigHook(config: UserConfig, plugins: JsPlugin[]): Promise<UserConfig>;
export declare function resolveConfigResolvedHook(config: ResolvedUserConfig, plugins: JsPlugin[]): Promise<void>;
export declare function getSortedPlugins(plugins: readonly JsPlugin[]): JsPlugin[];
export declare function getSortedPluginHooks(plugins: JsPlugin[], hookName: keyof JsPlugin): any;
