import { SupabaseClient } from '@supabase/supabase-js'; import { ISupabaseAdapter } from '../../domain/interfaces/adapters/isupabase.adapter'; /** * Filter for database queries */ export interface QueryFilter { column: string; value: any; } /** * Supabase Adapter * Wraps Supabase client and provides abstraction for database operations */ export declare class SupabaseAdapter implements ISupabaseAdapter { private client; constructor(client: SupabaseClient); /** * Gets the Supabase client instance * @returns SupabaseClient */ getClient(): SupabaseClient; /** * Calls a Supabase RPC function * @param functionName - Name of the RPC function * @param params - Function parameters * @returns Function result */ rpc(functionName: string, params?: Record): Promise; /** * Executes a raw SQL query (not implemented - use RPC instead) * @param _query - SQL query to execute * @param _params - Query parameters * @returns Query result */ executeQuery(_query: string, _params?: any[]): Promise; /** * Inserts data into a table * @param tableName - Name of the table * @param data - Data to insert * @returns Insert result */ insert(tableName: string, data: any): Promise<{ data: T[] | null; error: any; }>; /** * Updates data in a table * @param tableName - Name of the table * @param data - Data to update * @param filter - Filter to apply * @returns Update result */ update(tableName: string, data: any, filter: QueryFilter): Promise<{ data: T[] | null; error: any; }>; /** * Selects data from a table * @param tableName - Name of the table * @param columns - Columns to select * @param filter - Optional filter to apply * @returns Select result */ select(tableName: string, columns?: string, filter?: QueryFilter): Promise<{ data: T[] | null; error: any; }>; /** * Deletes data from a table * @param tableName - Name of the table * @param filter - Filter to apply * @returns Delete result */ delete(tableName: string, filter: QueryFilter): Promise<{ data: any; error: any; }>; } //# sourceMappingURL=supabase.adapter.d.ts.map