import { ResolvedAIProfile, InstructionTier, AIProfileBackend, ProfileCatalogLane, RegistrySourceMode, AIProfilesRegistry } from '@x12i/ai-profiles'; export { AIProfileBackend, AIProfileChoiceSummary, AIProfileSummary, CatalogModelSummary, InstructionTier, ListAICatalogModelsOptions, ProfileCatalogLane, RegistrySourceMode, ResolveAIProfileOptions, ResolveInput, ResolveInputOptions, ResolvedAIProfile, ensureConcreteModel, formatProfileChoiceKey, isKnownProfileChoice, isKnownProfileChoiceInput, isKnownProfileInput, isKnownProfileOrShortcut, listAICatalogModels, listAIProfileChoices, listAIProfiles, listRegistryProfileChoiceKeys, parsePreferOpenRouter, readPreferOpenRouterFromEnv, resolveAIProfile, resolveAIProfileByTags, resolveBundledInput, resolveInput, resolveModelIdentity, resolvePreferOpenRouter } from '@x12i/ai-profiles'; type ResolveProfileForAskInput = { profile: string; /** OpenRouter catalog lane — must match the profile (e.g. `text`, `image`). */ catalogLane: ProfileCatalogLane; choice?: string; source?: RegistrySourceMode; refresh?: boolean; }; /** FuncX / ask-node model config derived from {@link ResolvedAIProfile}. */ type AskProfileModelConfig = { provider: ResolvedAIProfile["provider"]; model: string; instructionTier: InstructionTier; backend: AIProfileBackend; profile: string; choice: string; temperature: number; outputMode: ResolvedAIProfile["runtime"]["outputMode"]; toolPolicy: ResolvedAIProfile["runtime"]["toolPolicy"]; reasoningEffort: ResolvedAIProfile["runtime"]["reasoningEffort"]; executionMode: ResolvedAIProfile["runtime"]["executionMode"]; requireCitations: boolean; allowWeb: boolean; allowFileSearch: boolean; allowCodeExecution: boolean; humanReview: ResolvedAIProfile["runtime"]["humanReview"]; metadata?: Record; pricing?: ResolvedAIProfile["pricing"]; resolved: ResolvedAIProfile; }; declare function profileConfigFromResolved(resolved: ResolvedAIProfile): AskProfileModelConfig; /** * Resolve a profile (+ optional choice) into ask-node / FuncX model configuration. * Uses {@link ResolvedAIProfile.instructionTier} and {@link ResolvedAIProfile.backend} * from `@x12i/ai-profiles` — do not duplicate preset tables locally. */ declare function resolveProfileForAsk(input: ResolveProfileForAskInput): Promise; /** Default OpenRouter lane for token-priced LLM usage in this package. */ declare const TEXT_CATALOG_LANE: ProfileCatalogLane; /** * Build an ai-profiles resolve key when the input is profile intent. * * Returns `null` for concrete model SKUs (e.g. `gemini-2.5-flash-lite`) so callers * can use catalog / registry index paths instead of {@link resolveAIProfile}. */ declare function profileResolveKeyFromRegistry(registry: AIProfilesRegistry, input: string, explicitChoice?: string): string | null; /** Require `profile/choice` or `profile` + explicit `choice`. */ declare function requireProfileResolveKeyFromRegistry(registry: AIProfilesRegistry, input: string, explicitChoice?: string): string; declare function requireProfileResolveKey(input: string, options?: { source?: RegistrySourceMode; refresh?: boolean; choice?: string; }): Promise; declare function profileResolveKey(input: string, options?: { source?: RegistrySourceMode; refresh?: boolean; choice?: string; }): Promise; export { type AskProfileModelConfig, type ResolveProfileForAskInput, TEXT_CATALOG_LANE, profileConfigFromResolved, profileResolveKey, profileResolveKeyFromRegistry, requireProfileResolveKey, requireProfileResolveKeyFromRegistry, resolveProfileForAsk };