///
/**
*
*/
import Connection from './connection';
import { RetrieveOptions, DmlOptions, Schema, SObjectNames, SObjectInputRecord, SObjectUpdateRecord } from './types';
/**
* Remote reference to record information
*/
export declare class RecordReference, InputRecord extends SObjectInputRecord = SObjectInputRecord, RetrieveRecord extends SObjectUpdateRecord = SObjectUpdateRecord> {
type: N;
id: string;
_conn: Connection;
/**
*
*/
constructor(conn: Connection, type: N, id: string);
/**
* Retrieve record field information
*/
retrieve(options?: RetrieveOptions): Promise;
/**
* Update record field information
*/
update(record: InputRecord, options?: DmlOptions): Promise;
/**
* Delete record field
*/
destroy(options?: DmlOptions): Promise;
/**
* Synonym of Record#destroy()
*/
delete: (options?: DmlOptions) => Promise;
/**
* Synonym of Record#destroy()
*/
del: (options?: DmlOptions) => Promise;
/**
* Get blob field as stream
*
* @param {String} fieldName - Blob field name
* @returns {stream.Stream}
*/
blob(fieldName: string): import("stream").Duplex;
}
export default RecordReference;