import type { CharacterDNA, ConversationProfile, ConversationPersona, MasterJSONPrompt } from '../../types/character.js';
import type { ConversationHistory } from '../../types/conversation.js';
import type { StarsTransaction, SceneTemplate } from '../../types/api.js';
import type { TelegramEntity } from '../../types/telegram-entity.js';
export declare class DataStore {
    private dataDir;
    constructor(dataDir?: string);
    init(): Promise<void>;
    private characterDir;
    saveCharacter(dna: CharacterDNA): Promise<void>;
    getCharacter(id: string): Promise<CharacterDNA | null>;
    listCharacters(): Promise<CharacterDNA[]>;
    deleteCharacter(id: string): Promise<boolean>;
    saveMasterPrompt(prompt: MasterJSONPrompt): Promise<void>;
    getMasterPrompt(characterId: string): Promise<MasterJSONPrompt | null>;
    saveConversationProfile(profile: ConversationProfile): Promise<void>;
    getConversationProfile(characterId: string): Promise<ConversationProfile | null>;
    saveConversationPersona(characterId: string, persona: ConversationPersona): Promise<void>;
    getConversationPersona(characterId: string): Promise<ConversationPersona | null>;
    saveConversationHistory(history: ConversationHistory): Promise<void>;
    getConversationHistory(characterId: string, userId: number): Promise<ConversationHistory | null>;
    listConversations(characterId: string): Promise<ConversationHistory[]>;
    deleteConversation(characterId: string, userId: number): Promise<boolean>;
    saveStarsTransaction(tx: StarsTransaction): Promise<void>;
    getStarsTransactions(characterId: string): Promise<StarsTransaction[]>;
    saveTemplate(template: SceneTemplate): Promise<void>;
    getTemplate(id: string): Promise<SceneTemplate | null>;
    listTemplates(): Promise<SceneTemplate[]>;
    deleteTemplate(id: string): Promise<boolean>;
    getReferenceImagesDir(characterId: string): string;
    getGeneratedImagesDir(characterId: string): string;
    getQualityReportsDir(characterId: string): string;
    saveReferenceImageUrls(characterId: string, urls: Record<string, string>): Promise<void>;
    getReferenceImageUrls(characterId: string): Promise<Record<string, string> | null>;
    addReferenceImageUrl(characterId: string, filename: string, url: string): Promise<void>;
    saveCharacterChannelConfig(characterId: string, config: unknown): Promise<void>;
    getCharacterChannelConfig<T = unknown>(characterId: string): Promise<T | null>;
    getTelegramEntities(characterId: string): Promise<TelegramEntity[]>;
}
export declare const dataStore: DataStore;
//# sourceMappingURL=index.d.ts.map