import type { KaijiBotConfig } from "../../config/config.js";
import type { PluginLoadOptions } from "../loader.js";
import type { PluginLogger } from "../types.js";
export type PluginRuntimeLoadContext = {
    rawConfig: KaijiBotConfig;
    config: KaijiBotConfig;
    activationSourceConfig: KaijiBotConfig;
    autoEnabledReasons: Readonly<Record<string, string[]>>;
    workspaceDir: string | undefined;
    env: NodeJS.ProcessEnv;
    logger: PluginLogger;
};
export type PluginRuntimeResolvedLoadValues = Pick<PluginLoadOptions, "config" | "activationSourceConfig" | "autoEnabledReasons" | "workspaceDir" | "env" | "logger">;
export type PluginRuntimeLoadContextOptions = {
    config?: KaijiBotConfig;
    activationSourceConfig?: KaijiBotConfig;
    env?: NodeJS.ProcessEnv;
    workspaceDir?: string;
    logger?: PluginLogger;
};
export declare function createPluginRuntimeLoaderLogger(): PluginLogger;
export declare function resolvePluginRuntimeLoadContext(options?: PluginRuntimeLoadContextOptions): PluginRuntimeLoadContext;
export declare function buildPluginRuntimeLoadOptions(context: PluginRuntimeLoadContext, overrides?: Partial<PluginLoadOptions>): PluginLoadOptions;
export declare function buildPluginRuntimeLoadOptionsFromValues(values: PluginRuntimeResolvedLoadValues, overrides?: Partial<PluginLoadOptions>): PluginLoadOptions;
