/**
 * Backend API client for GATI MCP Server
 *
 * This module provides HTTP client functions to interact with the GATI backend API
 * instead of direct database access. This eliminates the need for native SQLite bindings
 * and makes the MCP server work across all platforms.
 */
export interface BackendConfig {
    backendUrl: string;
}
/**
 * Set backend configuration
 */
export declare function setBackendConfig(newConfig: Partial<BackendConfig>): void;
/**
 * Get backend configuration
 */
export declare function getBackendConfig(): BackendConfig;
/**
 * Agent statistics from backend
 */
export interface AgentStats {
    name: string;
    description: string | null;
    total_runs: number;
    total_events: number;
    total_cost: number;
    avg_cost: number;
    avg_cost_per_run?: number;
    created_at: string;
}
/**
 * Run details from backend
 */
export interface RunDetails {
    run_name: string;
    agent_name: string;
    environment: string;
    status: string;
    total_duration_ms: number;
    total_cost: number;
    tokens_in: number;
    tokens_out: number;
    metadata?: any;
    event_count?: number;
    created_at: string;
}
/**
 * Event from backend
 * Note: Timeline events may not include all fields (run_id, agent_name, parent_event_id, etc.)
 */
export interface Event {
    event_id: string;
    run_id?: string;
    agent_name?: string;
    event_type: string;
    timestamp: string;
    parent_event_id?: string | null;
    previous_event_id?: string | null;
    data: any;
}
/**
 * List all agents
 */
export declare function listAgents(): Promise<AgentStats[]>;
/**
 * Get agent statistics
 */
export declare function getAgentStats(agentName: string): Promise<AgentStats | null>;
/**
 * Get runs for an agent
 */
export declare function listRuns(agentName: string, limit?: number, offset?: number): Promise<RunDetails[]>;
/**
 * Get run details by agent name and run name
 */
export declare function getRunByName(agentName: string, runName: string): Promise<RunDetails | null>;
/**
 * Get run timeline (chronological events)
 */
export declare function getRunTimeline(agentName: string, runName: string): Promise<Event[]>;
/**
 * Get execution trace (hierarchical events)
 */
export declare function getExecutionTrace(agentName: string, runName: string): Promise<Event[]>;
/**
 * Get global metrics
 */
export declare function getGlobalMetrics(): Promise<any>;
/**
 * Search events (using backend API if available, otherwise return empty)
 * Note: Backend may not have a search endpoint, so this is a placeholder
 */
export declare function searchEvents(agentName?: string, eventType?: string, startTime?: Date, endTime?: Date, limit?: number): Promise<Event[]>;
/**
 * Get cost breakdown by model
 * Note: This may need to be implemented in the backend or calculated from events
 */
export declare function getCostBreakdown(agentName?: string): Promise<any[]>;
//# sourceMappingURL=client.d.ts.map