import { ToolMetadata } from '../../core/tool-registry';

export declare enum EntityType {
    TOPIC = "topicId",
    TOKEN = "tokenId",
    NFT = "tokenId",
    ACCOUNT = "accountId",
    INSCRIPTION = "hrl"
}
export interface EntityHint {
    type: EntityType;
    value: string;
    confidence: number;
    source: 'user' | 'llm' | 'cached';
}
export interface ConversionRecord {
    originalValue: string;
    convertedValue: string;
    sourceFormat: string;
    targetFormat: string;
    converterUsed: string;
    timestamp: Date;
    context: Record<string, unknown>;
}
export interface ResolutionContext {
    toolMetadata?: ToolMetadata;
    userMessage: string;
    entityHints: EntityHint[];
    networkType: string;
    conversionHistory: ConversionRecord[];
    sessionId: string;
}
/**
 * Builder for creating and modifying resolution contexts
 */
export declare class ResolutionContextBuilder {
    /**
     * Create initial context from user message and session ID
     */
    static fromMessage(message: string, sessionId: string): ResolutionContext;
    /**
     * Add tool metadata to existing context
     */
    static withToolContext(context: ResolutionContext, toolMetadata: ToolMetadata): ResolutionContext;
    /**
     * Add entity hints to existing context
     */
    static withEntityHints(context: ResolutionContext, hints: EntityHint[]): ResolutionContext;
}
