import Query from './query'; import { QueryParams } from './query_params'; import Record from './record'; import Base from './base'; import { Records } from './records'; import { FieldSet } from './field_set'; import { RecordData } from './record_data'; declare type TableError = any; declare type CreateRecord = Pick>, 'fields'>; declare type CreateRecords = string[] | Partial[] | CreateRecord[]; declare type OptionalParameters = { typecast?: boolean; method?: 'get' | 'post'; }; declare type RecordCollectionCallback = (error: TableError, records?: Records) => void; declare type RecordCallback = (error: TableError, record?: Record) => void; declare type RecordListCallback = (error: TableError, records?: Records, offset?: number) => void; declare type RecordForEachCallback = (record: Record) => void; declare type RecordForEachDoneCallback = (error?: TableError) => void; interface TableFindRecord { (recordId: string): Promise>; (recordId: string, done: RecordCallback): void; } interface TableSelectRecord { (params?: QueryParams): Query; } interface TableCreateRecords { (recordsData: CreateRecords, optionalParameters?: OptionalParameters): Promise>; (recordsData: CreateRecords, optionalParameters: OptionalParameters, done: RecordCollectionCallback): void; (recordsData: CreateRecords, done: RecordCollectionCallback): void; (recordData: string | Partial, optionalParameters?: OptionalParameters): Promise>; (recordData: string | Partial, optionalParameters: OptionalParameters, done: RecordCallback): void; (recordData: string | Partial, done: RecordCallback): void; } interface TableChangeRecords { (recordId: string, recordData: Partial, opts?: OptionalParameters): Promise>; (recordId: string, recordData: Partial, opts: OptionalParameters, done: RecordCallback): void; (recordId: string, recordData: Partial, done: RecordCallback): void; (recordsData: RecordData>[], opts?: OptionalParameters): Promise>; (recordsData: RecordData>[], opts: OptionalParameters, done: RecordCollectionCallback): void; (recordsData: RecordData>[], done: RecordCollectionCallback): void; } interface TableDestroyRecords { (recordId: string): Promise>; (recordId: string, done: RecordCallback): void; (recordIds: string[]): Promise>; (recordIds: string[], done: RecordCollectionCallback): void; } declare class Table { readonly _base: Base; readonly id: string; readonly name: string; readonly find: TableFindRecord; readonly select: TableSelectRecord; readonly create: TableCreateRecords; readonly update: TableChangeRecords; readonly replace: TableChangeRecords; readonly destroy: TableDestroyRecords; /** @deprecated */ readonly list: any; /** @deprecated */ readonly forEach: any; static __recordsPerPageForIteration: number; constructor(base: Base, tableId: string, tableName: string); _findRecordById(recordId: string, done: RecordCallback): void; _selectRecords(params?: QueryParams): Query; _urlEncodedNameOrId(): string; _createRecords(recordData: TFields, done: RecordCallback): void; _createRecords(recordData: TFields, optionalParameters: OptionalParameters, done: RecordCallback): void; _createRecords(recordsData: TFields[], done: RecordCollectionCallback): void; _createRecords(recordsData: TFields[], optionalParameters: OptionalParameters, done: RecordCollectionCallback): void; _updateRecords(isDestructiveUpdate: boolean, recordId: string, recordData: TFields, done: RecordCallback): void; _updateRecords(isDestructiveUpdate: boolean, recordId: string, recordData: TFields, opts: OptionalParameters, done: RecordCallback): void; _updateRecords(isDestructiveUpdate: boolean, recordsData: TFields[], done: RecordCollectionCallback): void; _updateRecords(isDestructiveUpdate: boolean, recordsData: TFields[], opts: OptionalParameters, done: RecordCollectionCallback): void; _destroyRecord(recordId: string, done: RecordCallback): void; _destroyRecord(recordIds: string[], done: RecordCollectionCallback): void; _listRecords(pageSize: number, offset: number, opts: OptionalParameters | RecordListCallback, done?: RecordListCallback): void; _forEachRecord(opts: OptionalParameters, callback: RecordForEachCallback, done: RecordForEachDoneCallback): void; } export = Table;