import { BaseRecord } from '@aioia/core'; import { z } from 'zod'; export declare const POSITIONS: readonly ["MAIN_VOCAL", "SUB_VOCAL", "MAIN_DANCER", "SUB_DANCER", "MAIN_RAPPER", "SUB_RAPPER"]; export type Position = (typeof POSITIONS)[number]; export type Gender = "MALE" | "FEMALE"; export type Grade = "A" | "B" | "C" | "F"; export type Status = "DRAFT" | "PUBLISHED"; export interface CompanionStats { vocal: number; dance: number; rap: number; visual: number; stamina: number; charm: number; } /** * Companion schema (public fields only, excludes system_prompt) */ export declare const companionSchema: z.ZodObject<{ id: z.ZodString; aidolId: z.ZodOptional>; name: z.ZodOptional>; biography: z.ZodOptional>; profilePictureUrl: z.ZodOptional>; grade: z.ZodOptional>>; position: z.ZodOptional>>; mbti: z.ZodOptional>; gender: z.ZodOptional>>; status: z.ZodEnum<["DRAFT", "PUBLISHED"]>; stats: z.ZodOptional>; createdAt: z.ZodString; updatedAt: z.ZodString; }, "strip", z.ZodTypeAny, { status: "DRAFT" | "PUBLISHED"; id: string; createdAt: string; updatedAt: string; aidolId?: string | null | undefined; name?: string | null | undefined; biography?: string | null | undefined; profilePictureUrl?: string | null | undefined; grade?: "A" | "B" | "C" | "F" | null | undefined; position?: "MAIN_VOCAL" | "SUB_VOCAL" | "MAIN_DANCER" | "SUB_DANCER" | "MAIN_RAPPER" | "SUB_RAPPER" | null | undefined; mbti?: string | null | undefined; gender?: "MALE" | "FEMALE" | null | undefined; stats?: { vocal: number; dance: number; rap: number; visual: number; stamina: number; charm: number; } | undefined; }, { status: "DRAFT" | "PUBLISHED"; id: string; createdAt: string; updatedAt: string; aidolId?: string | null | undefined; name?: string | null | undefined; biography?: string | null | undefined; profilePictureUrl?: string | null | undefined; grade?: "A" | "B" | "C" | "F" | null | undefined; position?: "MAIN_VOCAL" | "SUB_VOCAL" | "MAIN_DANCER" | "SUB_DANCER" | "MAIN_RAPPER" | "SUB_RAPPER" | null | undefined; mbti?: string | null | undefined; gender?: "MALE" | "FEMALE" | null | undefined; stats?: { vocal: number; dance: number; rap: number; visual: number; stamina: number; charm: number; } | undefined; }>; export interface Companion extends BaseRecord { id: string; aidolId?: string | null; name?: string | null; biography?: string | null; profilePictureUrl?: string | null; grade?: Grade | null; position?: Position | null; mbti?: string | null; gender?: Gender | null; status: Status; stats?: CompanionStats; createdAt: string; updatedAt: string; } /** * Schema for creating a Companion * Includes systemPrompt for creation (excluded from response) */ export interface CompanionCreate { aidolId?: string | null; name: string; biography?: string | null; profilePictureUrl?: string | null; systemPrompt?: string | null; } /** * Schema for updating a Companion */ export interface CompanionUpdate { aidolId?: string | null; name?: string; biography?: string | null; profilePictureUrl?: string | null; systemPrompt?: string | null; position?: Position | null; gender?: Gender | null; status?: Status; mbtiEnergy?: number; mbtiPerception?: number; mbtiJudgment?: number; mbtiLifestyle?: number; } //# sourceMappingURL=companion.d.ts.map