import { GuestUI } from "@adobe/uix-guest";
import { VirtualApi } from "@adobe/uix-core";
import { AdditionalContext, GenerationContext } from "./GenerationContext";
export interface CreateApi extends VirtualApi {
    api: {
        create: {
            updateAdditionalContext: (additionalContext: AdditionalContext<any>) => Promise<void>;
            getGenerationContext: () => Promise<any>;
        };
    };
}
export declare class GenerationContextError extends Error {
    constructor(message: string);
}
export declare class GenerationContextService {
    /**
     * Sets additional context on the prompt
     * @param connection - The guest connection to the host
     * @param additionalContext - The additional context object
     * @returns void
     * @throws Error if connection is missing
     */
    static setAdditionalContext(connection: GuestUI<CreateApi>, additionalContext: AdditionalContext<any>): Promise<void>;
    /**
     * Gets the generation context
     * @param connection - The guest connection to the host
     * @returns The generation context
     * @throws Error if connection is missing
     */
    static getGenerationContext(connection: GuestUI<CreateApi>): Promise<GenerationContext>;
}
