import { Datastore } from './datastore'; import { AuthorizedHttpClient } from '../utils/api-request'; import { ICatalystTable, ICatalystColumn, ICatalystRow, ParsableComponent } from '../utils/pojo/common'; import { BulkRead, BulkWrite } from './bulk-job'; type ICatalystRowInput = { [column_name: string]: any; ROWID?: string | number; }; type ICatalystRowsResponse = { status: string; data: Array; more_records?: boolean; next_token?: string; }; type BulkType = 'read' | 'write'; type ObjectType = T extends 'read' ? BulkRead : T extends 'write' ? BulkWrite : never; export declare class Table implements ParsableComponent { _tableDetails: ICatalystTable; identifier: string; requester: AuthorizedHttpClient; constructor(datastoreInstance: Datastore, tableDetails: ICatalystTable); getComponentName(): string; getColumnDetails(id: string | number): Promise; getAllColumns(): Promise>; insertRow(row: ICatalystRowInput): Promise; insertRows(rowArr: Array): Promise>; /** * @deprecated This method doesn't support max row limit and defaults to 200. * This method will be removed in upcoming versions. * * Use {@link getPagedRows} or {@link getIterableRows} instead */ getAllRows(): Promise>; getPagedRows({ nextToken, maxRows }?: { nextToken?: string; maxRows?: number | string; }): Promise; getIterableRows(): AsyncGenerator; getRow(id: string | number): Promise; deleteRow(id: string | number): Promise; deleteRows(ids: Array): Promise; updateRows(rows: Array): Promise>; updateRow(row: ICatalystRowInput & { ROWID: string | number; }): Promise; bulkJob(type: T): ObjectType; toString(): string; toJSON(): ICatalystTable; } export {};