UNPKG

@qualifyze/airtable

Version:
21 lines (20 loc) 1.18 kB
import { FieldsValidator, UnknownFields } from "./fields"; import { ActionPointOptions } from "./action-point"; import { RestMethod, UnknownActionPayload } from "./endpoint"; import { DeletedRecord } from "./raw-types"; import { TableActionPoint } from "./table"; import { AirtableRecord } from "./record"; export declare type RecordDataSource<Fields extends UnknownFields> = TableActionPoint & FieldsValidator<Fields>; export interface RecordActionPoint { runRecordAction<P extends UnknownActionPayload, R>(method: RestMethod, { path, ...options }: ActionPointOptions<P, R>): Promise<R>; } export declare class AirtableRecordDraft<Fields extends UnknownFields> implements RecordActionPoint { readonly source: RecordDataSource<Fields>; readonly id: string; constructor(source: RecordDataSource<Fields>, id: string); runRecordAction<P extends UnknownActionPayload, R>(method: RestMethod, { path, ...options }: ActionPointOptions<P, R>): Promise<R>; fetch(): Promise<AirtableRecord<Fields>>; update(data: Partial<Fields>): Promise<AirtableRecord<Fields>>; replace(data: Fields): Promise<AirtableRecord<Fields>>; destroy(): Promise<DeletedRecord>; }