import type { ModelCatalogEntry } from "../../agents/model-catalog.js"; import { type ModelAliasIndex } from "../../agents/model-selection.js"; import type { SessionEntry } from "../../config/sessions/types.js"; import type { OpenClawConfig } from "../../config/types.openclaw.js"; import type { InlineDirectives } from "./directive-handling.parse.js"; import type { ThinkLevel } from "./directives.js"; export type PersistedThinkingLevelRemap = { from: ThinkLevel; to: ThinkLevel; provider: string; model: string; }; export declare function persistInlineDirectives(params: { directives: InlineDirectives; effectiveModelDirective?: string; cfg: OpenClawConfig; agentDir?: string; sessionEntry?: SessionEntry; sessionStore?: Record; sessionKey?: string; storePath?: string; elevatedEnabled: boolean; elevatedAllowed: boolean; defaultProvider: string; defaultModel: string; aliasIndex: ModelAliasIndex; allowedModelKeys: Set; provider: string; model: string; initialModelLabel: string; formatModelSwitchEvent: (label: string, alias?: string) => string; agentCfg: NonNullable["defaults"] | undefined; messageProvider?: string; surface?: string; gatewayClientScopes?: string[]; senderIsOwner?: boolean; markLiveSwitchPending?: boolean; thinkingCatalog?: ModelCatalogEntry[]; }): Promise<{ provider: string; model: string; contextTokens: number; thinkingRemap?: PersistedThinkingLevelRemap; }>;