import type { LoaderConfig } from "@pie-players/pie-players-shared/loader-config";
import type { AccessibilityCatalogResolverApi, ElementToolStateStoreApi, HighlightCoordinatorApi, ToolCoordinatorApi, ToolkitCoordinatorApi, TtsServiceApi } from "../services/interfaces.js";
import type { TTSHighlightTargetResolver } from "../services/tts/highlight-target-resolver.js";
export type ItemPlayerType = "iife" | "esm" | "preloaded" | "custom";
export interface ItemPlayerConfig {
    type: ItemPlayerType;
    tagName: string;
    version?: string;
    source?: string;
    loaderConfig?: LoaderConfig;
    loaderOptions?: Record<string, unknown>;
    isDefault: boolean;
}
export interface AssessmentToolkitRuntimeContext {
    toolkitCoordinator: ToolkitCoordinatorApi;
    toolCoordinator: ToolCoordinatorApi;
    ttsService: TtsServiceApi;
    highlightCoordinator: HighlightCoordinatorApi;
    catalogResolver: AccessibilityCatalogResolverApi;
    elementToolStateStore: ElementToolStateStoreApi;
    assessmentId: string;
    sectionId: string;
    itemPlayer: ItemPlayerConfig;
    reportSessionChanged?: (itemId: string, detail: unknown) => void;
}
export declare const assessmentToolkitRuntimeContext: {
    __context__: AssessmentToolkitRuntimeContext;
};
export interface AssessmentToolkitHostRuntimeContext {
    runtimeId: string;
    coordinator: ToolkitCoordinatorApi;
}
export declare const assessmentToolkitHostRuntimeContext: {
    __context__: AssessmentToolkitHostRuntimeContext;
};
export type ShellContextKind = "item" | "passage";
export interface AssessmentToolkitShellContext {
    kind: ShellContextKind;
    itemId: string;
    canonicalItemId: string;
    contentKind: string;
    regionPolicy: string;
    scopeElement: HTMLElement | null;
    item: unknown;
    contextVersion: number;
}
export declare const assessmentToolkitShellContext: {
    __context__: AssessmentToolkitShellContext;
};
export interface AssessmentToolkitRegionScopeContext {
    scopeElement: HTMLElement | null;
    ttsHighlightTargetResolver?: TTSHighlightTargetResolver | null;
}
export declare const assessmentToolkitRegionScopeContext: {
    __context__: AssessmentToolkitRegionScopeContext;
};
