import { Experience } from "./Experience";
import { GuestUI } from "@adobe/uix-guest";
import { VirtualApi } from "@adobe/uix-core";
import { GenerationContext } from "../generationContext/GenerationContext";
export interface RightPanelApi extends VirtualApi {
    api: {
        createRightPanel: {
            getExperiences: () => Promise<any[]>;
            getGenerationContext: () => Promise<any>;
        };
    };
}
export declare class ExperienceError extends Error {
    constructor(message: string);
}
/**
 * Manages experience data conversion and retrieval
 */
export declare class ExperienceService {
    /**
     * Fetches experiences from the connection
     * @param connection - The guest connection to the host
     * @returns Promise<Experience[]> Array of converted experiences
     * @throws Error if connection is missing
     */
    static getExperiences(connection: GuestUI<RightPanelApi>): Promise<Experience[]>;
    /**
     * Converts a raw experience object to Experience format
     * @param rawExperience - Raw experience data from the host
     * @returns Experience - Converted Experience object
     */
    static convertRawExperienceToExperience(rawExperience: {
        id?: string;
        fields: {
            [key: string]: any;
        };
    }): Experience;
    /**
     * Converts an array of raw experiences to Experience format
     * @param rawExperiences - Array of raw experience data
     * @returns Experience[] - Array of converted Experience objects
     */
    static convertRawExperiencesToExperiences(rawExperiences: any[]): Experience[];
    /**
     * Gets the generation context from the connection
     * @param connection - The guest connection to the host
     * @returns The generation context
     * @throws Error if connection is missing
     */
    static getGenerationContext(connection: GuestUI<RightPanelApi>): Promise<GenerationContext>;
}
