interface MessageDict {
    role: string;
    text: string;
    prompt?: string | null;
    date?: string | null;
    context?: ContextDict | null;
    feedback?: FeedbackDict | null;
}
interface ContextDict {
    context_id?: number;
    text?: string;
}
interface FeedbackDict {
    thumbs_up?: number;
    rating?: number;
    message?: string;
}
export declare class FeedbackIntelligenceSDK {
    private baseUrl;
    private headers;
    constructor(apiKey?: string, baseUrl?: string);
    addContext(projectId: number, context: string, contextId?: number | null): Promise<any>;
    addChat(projectId: number, chatId: string, messages: Message[], userId?: string | null, version?: string | null): Promise<any>;
    addFeedback(projectId: number, message: string, source: string, userId?: string | null, chatId?: string | null, date?: string | null): Promise<any>;
    private _post;
}
export declare class Message {
    role: string;
    text: string;
    prompt: string | null;
    date: string | null;
    context: Context | null;
    feedback: Feedback | null;
    constructor({ role, text, prompt, date, context, feedback }: {
        role: string;
        text: string;
        prompt?: string | null;
        date?: string | null;
        context?: Context | null;
        feedback?: Feedback | null;
    });
    toDict(): MessageDict;
}
export declare class Context {
    contextId: number | null;
    text: string | null;
    constructor({ contextId, text }?: {
        contextId?: number | null;
        text?: string | null;
    });
    toDict(): ContextDict;
}
export declare class Feedback {
    thumbsUp: number | null;
    rating: number | null;
    message: string | null;
    constructor({ thumbsUp, rating, message }?: {
        thumbsUp?: number | null;
        rating?: number | null;
        message?: string | null;
    });
    toDict(): FeedbackDict;
}
export {};
