export type McpServerLike = { registerTool: (...args: any[]) => any; }; import type { Env } from '../../config/env.js'; export interface ClientLike { getBaseInfo?(): { dtableUuid?: string; appName?: string; }; listTables(): Promise>; getMetadata(): Promise; clearMetadataCache?(): void; listRows(query: { table: string; page?: number; page_size?: number; }): Promise<{ rows: any[]; page?: number; page_size?: number; total?: number; has_more?: boolean; }>; getRow(table: string, rowId: string): Promise; addRow(table: string, row: Record): Promise; addRows(table: string, rows: Array>): Promise; updateRow(table: string, rowId: string, row: Record): Promise; updateRows(table: string, updates: Array<{ row_id: string; row: Record; }>): Promise<{ success: boolean; }>; deleteRow(table: string, rowId: string): Promise<{ success: boolean; }>; deleteRows(table: string, rowIds: string[]): Promise<{ success: boolean; }>; searchRows(table: string, query: Record): Promise<{ rows: any[]; page?: number; page_size?: number; total?: number; has_more?: boolean; }>; querySql(sql: string, parameters?: any[]): Promise<{ metadata: any; results: any[]; }>; listCollaborators(): Promise>; createLinks(args: { table: string; linkColumn: string; pairs: Array<{ fromRowId: string; toRowId: string; }>; }): Promise; deleteLinks(args: { table: string; linkColumn: string; pairs: Array<{ fromRowId: string; toRowId: string; }>; }): Promise; addColumnOptions(args: { table: string; column: string; options: Array<{ name: string; color?: string; textColor?: string; }>; }): Promise; uploadFile(args: { table: string; column: string; rowId: string; fileName: string; fileData: string; replace?: boolean; }): Promise<{ file_name: string; file_size: number; asset_url: string; column_type: string; }>; getRowActivities(rowId: string, page?: number): Promise<{ activities: any[]; total_count: number; }>; createSnapshot(): Promise<{ status: string; snapshot: { dtable_uuid: string; dtable_name: string; commit_id: string; ctime: number; }; }>; downloadFile(args: { table: string; column: string; rowId: string; fileName?: string; }): Promise<{ file_name: string; file_size: number; content: string; content_type: 'text' | 'pdf_text' | 'binary_url'; download_link?: string; }>; } export type ToolDeps = { client: ClientLike; env: Env; getInputSchema: (schema: any) => any; baseNames?: string[]; }; export type ToolRegistrar = (server: McpServerLike, deps: ToolDeps) => void; //# sourceMappingURL=types.d.ts.map