import { Stream } from "stream"; import { Connection } from "./connection"; import { RecordResult } from "./record-result"; import { SalesforceId } from "./salesforce-id"; export class RecordReference { constructor(conn: Connection, type: string, id: SalesforceId); blob(fieldName: string): Stream; del(options?: Object, callback?: (err: Error, result: RecordResult) => void): Promise; delete(options?: Object, callback?: (err: Error, result: RecordResult) => void): Promise; destroy(options?: Object, callback?: (err: Error, result: RecordResult) => void): Promise; retrieve(options?: Object, callback?: (err: Error, record: Record) => void): Promise>; update( record: Partial, options?: Object, callback?: (err: Error, result: RecordResult) => void, ): Promise; } export interface RecordAttributes { type: string; url: string; } export type Record = { Id?: SalesforceId | undefined; attributes?: RecordAttributes | undefined; } & T;