import { BaseCrudRepository } from '@aioia/core'; import { Companion, ImageGenerationRequest, ImageGenerationResponse } from '../schemas'; /** CRUD operations use BaseCrudRepository (wrapped { data: T } responses) */ export declare class CompanionRepository extends BaseCrudRepository { readonly resource = "companions"; protected getDataSchema(): import('zod').ZodObject<{ id: import('zod').ZodString; aidolId: import('zod').ZodOptional>; name: import('zod').ZodOptional>; biography: import('zod').ZodOptional>; profilePictureUrl: import('zod').ZodOptional>; grade: import('zod').ZodOptional>>; position: import('zod').ZodOptional>>; mbti: import('zod').ZodOptional>; gender: import('zod').ZodOptional>>; status: import('zod').ZodEnum<["DRAFT", "PUBLISHED"]>; stats: import('zod').ZodOptional>; createdAt: import('zod').ZodString; updatedAt: import('zod').ZodString; }, "strip", import('zod').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; }>; /** PUBLISHED 상태의 멤버만 최대 MAX_MEMBERS명까지 조회 */ getByAidolId(aidolId: string): Promise>; generateImage(request: ImageGenerationRequest, fetchOptions?: RequestInit): Promise; } //# sourceMappingURL=CompanionRepository.d.ts.map