/** * Tool: suggest_indexing_strategies * Returns indexing analysis data for LLM to suggest optimization strategies */ export interface SuggestIndexingStrategiesInput { schema: string; table: string; workloadSample?: string[]; } export interface IndexUsageStats { index_name: string; columns: string[]; index_type: string; is_unique: boolean; is_primary: boolean; size: string; scans: number; tuples_read: number; tuples_fetched: number; size_bytes: number; } export interface UnusedIndex { index_name: string; columns: string[]; size: string; reason: string; } export interface UnindexedForeignKey { constraint_name: string; column_name: string; foreign_table: string; foreign_column: string; } export interface DuplicateIndex { index1_name: string; index2_name: string; reason: string; suggestion: string; } export interface TableScanAnalysis { seq_scan: number; seq_tup_read: number; idx_scan: number; idx_tup_fetch: number; high_seq_scan_ratio: boolean; seq_scan_percentage: number; } export interface IndexingStrategiesOutput { schema: string; table: string; index_usage_stats: IndexUsageStats[]; unused_indexes: UnusedIndex[]; unindexed_fk_columns: UnindexedForeignKey[]; duplicate_indexes: DuplicateIndex[]; table_scan_analysis: TableScanAnalysis; recommendations_context: { total_indexes: number; total_index_size: string; table_size: string; row_count: number; }; } /** * Analyzes indexing strategy and returns data for optimization suggestions */ export declare function suggestIndexingStrategies(input: SuggestIndexingStrategiesInput): Promise; //# sourceMappingURL=suggestIndexingStrategies.d.ts.map