import { Stream } from 'stream'; import { RecordResult } from './record-result'; import { Connection } from './connection'; 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;