import { i as NodmixConfig } from "../types.nodmix-Dph4_Y30.js";
import { Ts as WebFetchProviderToolDefinition, ys as PluginWebFetchProviderEntry } from "../params-DGej4EA0.js";
import { t as RuntimeWebFetchMetadata } from "../runtime-web-tools.types-Co2KBj4w.js";

//#region src/web-fetch/runtime.d.ts
type WebFetchConfig = NonNullable<NodmixConfig["tools"]>["web"] extends infer Web ? Web extends {
  fetch?: infer Fetch;
} ? Fetch : undefined : undefined;
type ResolveWebFetchDefinitionParams = {
  config?: NodmixConfig;
  sandboxed?: boolean;
  runtimeWebFetch?: RuntimeWebFetchMetadata;
  providerId?: string;
  preferRuntimeProviders?: boolean;
};
declare function resolveWebFetchEnabled(params: {
  fetch?: WebFetchConfig;
  sandboxed?: boolean;
}): boolean;
declare function isWebFetchProviderConfigured(params: {
  provider: Pick<PluginWebFetchProviderEntry, "envVars" | "getConfiguredCredentialFallback" | "getConfiguredCredentialValue" | "getCredentialValue" | "requiresCredential">;
  config?: NodmixConfig;
}): boolean;
declare function listWebFetchProviders(params?: {
  config?: NodmixConfig;
}): PluginWebFetchProviderEntry[];
declare function listConfiguredWebFetchProviders(params?: {
  config?: NodmixConfig;
}): PluginWebFetchProviderEntry[];
declare function resolveWebFetchProviderId(params: {
  fetch?: WebFetchConfig;
  config?: NodmixConfig;
  providers?: PluginWebFetchProviderEntry[];
}): string;
declare function resolveWebFetchDefinition(options?: ResolveWebFetchDefinitionParams): {
  provider: PluginWebFetchProviderEntry;
  definition: WebFetchProviderToolDefinition;
} | null;
//#endregion
export { ResolveWebFetchDefinitionParams, isWebFetchProviderConfigured, listConfiguredWebFetchProviders, listWebFetchProviders, resolveWebFetchDefinition, resolveWebFetchEnabled, resolveWebFetchProviderId };