import type { AgentConfig } from "@clinebot/agents";
type AgentPlugin = NonNullable<AgentConfig["extensions"]>[number];
export declare function resolvePluginConfigSearchPaths(workspacePath?: string): string[];
export declare function discoverPluginModulePaths(directoryPath: string): string[];
export interface ResolveAgentPluginPathsOptions {
    pluginPaths?: ReadonlyArray<string>;
    workspacePath?: string;
    cwd?: string;
}
export declare function resolveAgentPluginPaths(options?: ResolveAgentPluginPathsOptions): string[];
export interface ResolveAndLoadAgentPluginsOptions extends ResolveAgentPluginPathsOptions {
    mode?: "sandbox" | "in_process";
    exportName?: string;
    importTimeoutMs?: number;
    hookTimeoutMs?: number;
    contributionTimeoutMs?: number;
    onEvent?: (event: {
        name: string;
        payload?: unknown;
    }) => void;
}
export declare function resolveAndLoadAgentPlugins(options?: ResolveAndLoadAgentPluginsOptions): Promise<{
    extensions: AgentPlugin[];
    shutdown?: () => Promise<void>;
}>;
export {};
//# sourceMappingURL=plugin-config-loader.d.ts.map