import type { SKYKOIConfig } from "../config/config.js"; export { resolveKoiIdFromSessionKey } from "../routing/session-key.js"; type KoiEntry = NonNullable["list"]>[number]; type ResolvedKoiConfig = { name?: string; workspace?: string; koiDir?: string; model?: KoiEntry["model"]; skills?: KoiEntry["skills"]; memorySearch?: KoiEntry["memorySearch"]; humanDelay?: KoiEntry["humanDelay"]; heartbeat?: KoiEntry["heartbeat"]; identity?: KoiEntry["identity"]; groupChat?: KoiEntry["groupChat"]; subkois?: KoiEntry["subkois"]; sandbox?: KoiEntry["sandbox"]; tools?: KoiEntry["tools"]; }; /** Returns all configured koi IDs, or [DEFAULT_KOI_ID] if none configured. */ export declare function listKoiIds(cfg: SKYKOIConfig): string[]; /** Returns the default koi ID (first entry marked `default: true`, or first entry). */ export declare function resolveDefaultKoiId(cfg: SKYKOIConfig): string; /** * Extracts the koi ID embedded in a session key (e.g. "koi:foo:session") * and returns both the default and session-specific koi IDs. */ export declare function resolveSessionKoiIds(params: { sessionKey?: string; config?: SKYKOIConfig; }): { defaultKoiId: string; sessionKoiId: string; }; /** Convenience wrapper: returns just the session-specific koi ID. */ export declare function resolveSessionKoiId(params: { sessionKey?: string; config?: SKYKOIConfig; }): string; /** Looks up full koi configuration (model, skills, sandbox, etc.) by koi ID. */ export declare function resolveKoiConfig(cfg: SKYKOIConfig, koiId: string): ResolvedKoiConfig | undefined; /** Returns the skills allowlist for a koi, or undefined if unrestricted. */ export declare function resolveKoiSkillsFilter(cfg: SKYKOIConfig, koiId: string): string[] | undefined; /** Returns the primary model ID for a koi, or undefined to use global default. */ export declare function resolveKoiModelPrimary(cfg: SKYKOIConfig, koiId: string): string | undefined; /** Returns koi-specific model fallbacks, or undefined to use global fallbacks. */ export declare function resolveKoiModelFallbacksOverride(cfg: SKYKOIConfig, koiId: string): string[] | undefined; /** Resolves the workspace directory for a koi (per-koi config → global default → convention). */ export declare function resolveKoiWorkspaceDir(cfg: SKYKOIConfig, koiId: string): string; /** Resolves the koi data directory (for koi-specific state files). */ export declare function resolveKoiDir(cfg: SKYKOIConfig, koiId: string): string;