import type { ChatMessage } from "./llm/types.js";
import type { ToolMetadata } from "./types.js";
/**
 * A SimplePrompt is a function that takes a dictionary of inputs and returns a string.
 * NOTE this is a different interface compared to LlamaIndex Python
 * NOTE 2: we default to empty string to make it easy to calculate prompt sizes
 */
export type SimplePrompt = (input: Record<string, string | undefined>) => string;
export declare const defaultTextQaPrompt: ({ context, query }: {
    context?: string | undefined;
    query?: string | undefined;
}) => string;
export type TextQaPrompt = typeof defaultTextQaPrompt;
export declare const anthropicTextQaPrompt: TextQaPrompt;
export declare const defaultSummaryPrompt: ({ context }: {
    context?: string | undefined;
}) => string;
export type SummaryPrompt = typeof defaultSummaryPrompt;
export declare const anthropicSummaryPrompt: SummaryPrompt;
export declare const defaultRefinePrompt: ({ query, existingAnswer, context, }: {
    query?: string | undefined;
    existingAnswer?: string | undefined;
    context?: string | undefined;
}) => string;
export type RefinePrompt = typeof defaultRefinePrompt;
export declare const defaultTreeSummarizePrompt: ({ context, query }: {
    context?: string | undefined;
    query?: string | undefined;
}) => string;
export type TreeSummarizePrompt = typeof defaultTreeSummarizePrompt;
export declare const defaultChoiceSelectPrompt: ({ context, query }: {
    context?: string | undefined;
    query?: string | undefined;
}) => string;
export type ChoiceSelectPrompt = typeof defaultChoiceSelectPrompt;
export declare function buildToolsText(tools: ToolMetadata[]): string;
export declare const defaultSubQuestionPrompt: ({ toolsStr, queryStr }: {
    toolsStr?: string | undefined;
    queryStr?: string | undefined;
}) => string;
export type SubQuestionPrompt = typeof defaultSubQuestionPrompt;
export declare const defaultCondenseQuestionPrompt: ({ chatHistory, question, }: {
    chatHistory?: string | undefined;
    question?: string | undefined;
}) => string;
export type CondenseQuestionPrompt = typeof defaultCondenseQuestionPrompt;
export declare function messagesToHistoryStr(messages: ChatMessage[]): string;
export declare const defaultContextSystemPrompt: ({ context }: {
    context?: string | undefined;
}) => string;
export type ContextSystemPrompt = typeof defaultContextSystemPrompt;
export declare const defaultKeywordExtractPrompt: ({ context, maxKeywords, }: {
    context?: string | undefined;
    maxKeywords?: number | undefined;
}) => string;
export type KeywordExtractPrompt = typeof defaultKeywordExtractPrompt;
export declare const defaultQueryKeywordExtractPrompt: ({ question, maxKeywords, }: {
    question?: string | undefined;
    maxKeywords?: number | undefined;
}) => string;
export type QueryKeywordExtractPrompt = typeof defaultQueryKeywordExtractPrompt;
