import type { IndicatorChunk, IndicatorProviderInfo, IndicatorData } from "../tree-indicators/types";
export type { IndicatorProviderInfo, IndicatorData };
/**
 * Non-streaming response for indicator data.
 */
export interface IndicatorsResponse {
    providers: IndicatorProviderInfo[];
    indicators: Record<string, Record<string, IndicatorData>>;
}
/**
 * Fetch the list of available indicator providers.
 * This is a lightweight call that doesn't require item IDs.
 */
export declare function fetchIndicatorProviders(signal?: AbortSignal): Promise<IndicatorProviderInfo[]>;
/**
 * Fetch indicators using NDJSON streaming (POST).
 * Calls onChunk for each chunk as it arrives.
 *
 * @param itemIds - Item IDs to fetch indicators for
 * @param providers - Optional filter for specific provider IDs
 * @param language - Language code
 * @param onChunk - Callback for each streaming chunk
 * @param signal - Optional AbortSignal for cancellation
 * @param sessionId - Optional session ID to exclude from presence indicators
 */
export declare function fetchIndicatorsStream(itemIds: string[], providers: string[] | undefined, language: string, onChunk: (chunk: IndicatorChunk) => void, signal?: AbortSignal, sessionId?: string): Promise<void>;
