/**
 * Pet Handler — RPC methods for pet system.
 *
 * Methods:
 *   - pet.interact: Handle user interaction (pat/feed/poke)
 *   - pet.status: Get or initialize the shared owner pet soul + stats
 *   - pet.forge: Generate a Petdex asset summary from image/text (P4)
 */
import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
import type { PetRuntime } from "../pet-runtime.js";
interface PetMemoryActivitySummary {
    highlights?: Array<{
        text?: string;
    }>;
}
interface PetMemoryProviderLike {
    getActivitySummary(userId: string, days: number): PetMemoryActivitySummary | undefined;
}
interface PetSessionStateLike {
    turnCount?: number;
}
export interface PetHandlerHost {
    deviceId?: string;
    sessionState?: PetSessionStateLike | null;
    memoryProvider?: PetMemoryProviderLike | null;
    memoryUserId?: string;
    ownerUserId?: string;
    petRuntime: Pick<PetRuntime, "createPetSoulGenerator" | "createSmallLLMCall" | "forgeAnalyzeImage"> & Partial<Pick<PetRuntime, "forgeGeneratePetdexAtlas" | "isImageGenerationAvailable" | "isPetdexForgeAvailable">>;
    getActiveProjectRoot(): string;
    sendNotification(method: string, params: Record<string, unknown>): void;
    sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
    ensureModelRegistryHydrated?(): Promise<void>;
    configureTurnMedia?(config: Record<string, unknown> | undefined, turnId: string): void;
}
export declare function handlePetInteract(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetStatus(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetPreferencesUpdate(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetJourneySnapshot(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetJourneyList(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetJourneyGet(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetCustomDelete(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handlePetAssetImport(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
/**
 * Pet Forge creates the backend-owned Petdex asset record from a generated atlas.
 */
export declare function handlePetForge(this: PetHandlerHost, msg: AgentRpcRequest): Promise<void>;
export {};
