export interface ResearchLog {
    timestamp: string;
    message: string;
}
export interface ResearchPlan {
    [key: string]: {
        description: string;
        sources: string[];
        status: "planned" | "in_progress" | "completed";
    };
}
export interface ResearchData {
    tokenName: string;
    tokenTicker: string;
    researchPlan: ResearchPlan;
    searchResults: Record<string, any>;
    technicalData: Record<string, any>;
    marketData: Record<string, any>;
    socialData: Record<string, any>;
    newsData: Array<any>;
    teamData: Record<string, any>;
    relatedTokens: Array<any>;
    resources: Record<string, {
        url: string;
        format: string;
        content: string;
        fetchedAt: string;
    }>;
    researchData: Record<string, any>;
    status: "not_started" | "in_progress" | "completed";
    logs: ResearchLog[];
}
export declare class ResearchStorage {
    private dataDir;
    private currentResearch;
    constructor(dataDir?: string);
    private ensureDataDir;
    startNewResearch(tokenName: string, tokenTicker: string): void;
    getCurrentResearch(): ResearchData;
    getSection<K extends keyof ResearchData>(section: K): ResearchData[K];
    updateSection<K extends keyof ResearchData>(section: K, data: ResearchData[K]): void;
    addToSection<K extends keyof ResearchData>(section: K, data: Partial<ResearchData[K]> | any): void;
    getResource(resourceId: string): any;
    getAllResources(): Record<string, any>;
    addLogEntry(message: string): void;
    completeResearch(): void;
    saveCurrentResearch(): Promise<void>;
}
export default ResearchStorage;
