import type { ConfigParameterKey, LoadedConfig } from './resolvedConfig.js';
import type { ProviderOptionsOriginResolver, ProviderOptionsSource } from '../../core/workflow/provider-options-trace.js';
export type { ConfigParameterKey } from './resolvedConfig.js';
export { invalidateResolvedConfigCache, invalidateAllResolvedConfigCache } from './resolutionCache.js';
export interface WorkflowContext {
    provider?: LoadedConfig['provider'];
    model?: LoadedConfig['model'];
    providerOptions?: LoadedConfig['providerOptions'];
}
export interface ResolveConfigOptions {
    workflowContext?: WorkflowContext;
}
export type ConfigValueSource = 'env' | 'project' | 'workflow' | 'global' | 'default';
export interface ResolvedConfigValue<K extends ConfigParameterKey> {
    value: LoadedConfig[K];
    source: ConfigValueSource;
}
export declare function resolveConfigValueWithSource<K extends ConfigParameterKey>(projectDir: string, key: K, options?: ResolveConfigOptions): ResolvedConfigValue<K>;
export declare function resolveConfigValue<K extends ConfigParameterKey>(projectDir: string, key: K, options?: ResolveConfigOptions): LoadedConfig[K];
export declare function resolveConfigValues<K extends ConfigParameterKey>(projectDir: string, keys: readonly K[], options?: ResolveConfigOptions): Pick<LoadedConfig, K>;
export declare function isDebugLoggingEnabled(projectDir: string, options?: ResolveConfigOptions): boolean;
export declare function resolveProviderOptionsWithTrace(projectDir: string): {
    value: LoadedConfig['providerOptions'];
    source: ProviderOptionsSource;
    originResolver: ProviderOptionsOriginResolver;
};
//# sourceMappingURL=resolveConfigValue.d.ts.map