import { Connection, Callback } from '../connection'; export class SoapApi { constructor(conn: Connection); convertLead( leadConverts: LeadConvert | LeadConvert[], callback?: Callback, ): Promise; describeTabs(callback?: Callback): Promise; emptyRecycleBin(ids: string[], callback?: Callback): Promise; getServerTimestamp(callback?: Callback): Promise; getUserInfo(callback?: Callback): Promise; merge( mergeRequests: MergeRequest | MergeRequest[], callback?: Callback, ): Promise; setPassword(userId: string, password: string, callback?: Callback): Promise; create(sObjects: Object[], callback?: Callback): Promise; update(sObjects: Object[], callback?: Callback): Promise; upsert( externalIdFieldName: string, sObjects: Object[], callback?: Callback, ): Promise; delete(ids: Object[], callback?: Callback): Promise; } export interface SoapDeleteResult { success: boolean; errors: Object[]; id: string; } export interface SoapUpsertResult { created: boolean; success: boolean; errors: Object[]; id: string; } export interface SoapSaveResult { success: boolean; errors: Object[]; id: string; } export interface ResetPasswordResult { password: string; } export interface UserInfoResult { accessibilityMode: boolean; currencySymbol: string; orgAttachmentFileSizeLimit: number; orgDefaultCurrencyIsoCode: string; orgDisallowHtmlAttachments: string; orgHasPersonAccounts: boolean; organizationId: string; organizationMultiCurrency: boolean; organizationName: string; profileId: string; roleId: string; sessionSecondsValid: number; userDefaultCurrencyIsoCode: string; userEmail: string; userFullName: string; userId: string; userLanguage: string; userLocale: string; userName: string; userTimeZone: string; userType: string; userUiSkin: string; } export interface DescribeTabSetResult { label: string; logoUrl: string; namespace: string; selected: boolean; tabs: DescribeTab[]; } export interface DescribeTab { colors: Object[]; custom: boolean; iconUrl: Object[]; icons: Object[]; label: string; miniIconUrl: string; name: string; sobjectName: string; url: string; } export interface ServerTimestampResult { timestamp: string; } export interface LeadConvert { convertedStatus: string; leadId: string; accountId?: string | undefined; contactId?: string | undefined; doNotCreateOpportunity?: boolean | undefined; opportunityName?: string | undefined; overwriteLeadSource?: boolean | undefined; ownerId?: string | undefined; sendNotificationEmail?: boolean | undefined; } export interface LeadConvertResult { leadId: string; accountId?: string | undefined; contactId?: string | undefined; opportunityId?: string | undefined; success: boolean; errors: Object[]; } export interface MergeRequest { masterRecord: Object; recordToMergeIds: string[]; } export interface MergeResult { success: boolean; errors?: Object[] | undefined; id: string; mergedRecordIds?: string[] | undefined; updatedRelatedIds?: string[] | undefined; } export interface EmptyRecycleBinResult { id: string; success: boolean; errors: Object[]; }