import { MinistryPlatformClient } from "../core/ministryPlatformClient.js";
import { TableQueryParams, TableRecord } from "../Interfaces/mpProviderInterfaces.js";
export declare class TableService {
    private client;
    constructor(client: MinistryPlatformClient);
    /**
     * Returns the list of records from the specified table satisfying the provided search criteria.
     */
    getTableRecords<T>(table: string, params?: TableQueryParams): Promise<T[]>;
    /**
     * Creates new records in the specified table.
     */
    createTableRecords<T extends TableRecord = TableRecord>(table: string, records: T[], params?: Pick<TableQueryParams, '$select' | '$userId'>): Promise<T[]>;
    /**
     * Updates provided records in the specified table.
     */
    updateTableRecords<T extends TableRecord = TableRecord>(table: string, records: T[], params?: Pick<TableQueryParams, '$select' | '$userId' | '$allowCreate'>): Promise<T[]>;
    /**
     * Deletes multiple records from the specified table.
     */
    deleteTableRecords<T extends TableRecord = TableRecord>(table: string, ids: number[], params?: Pick<TableQueryParams, '$select' | '$userId'>): Promise<T[]>;
}
