import { ModifiedResponse, RequestClient } from '@segment/actions-core';
import { Address, Constituent, ConstituentAction, CreateConstituentResult, Email, ExistingConstituentResult, Gift, OnlinePresence, Phone, UpdateConstituentResult } from '../types';
export declare class BlackbaudSkyApi {
    request: RequestClient;
    constructor(request: RequestClient);
    searchForConstituents(searchField: string, searchText: string): Promise<ModifiedResponse>;
    getExistingConstituent(emailData?: Partial<Email>, lookupId?: string): Promise<ExistingConstituentResult>;
    createConstituent(constituentData: Constituent): Promise<ModifiedResponse>;
    createConstituentWithRelatedObjects(constituentData: Constituent, addressData: Partial<Address>, emailData: Partial<Email>, onlinePresenceData: Partial<OnlinePresence>, phoneData: Partial<Phone>): Promise<CreateConstituentResult>;
    updateConstituent(constituentId: string, constituentData: Partial<Constituent>): Promise<ModifiedResponse>;
    getConstituentAddressList(constituentId: string): Promise<ModifiedResponse>;
    createConstituentAddress(constituentId: string, addressData: Address): Promise<ModifiedResponse>;
    updateConstituentAddressById(addressId: string, addressData: Address): Promise<ModifiedResponse>;
    getConstituentEmailList(constituentId: string): Promise<ModifiedResponse>;
    createConstituentEmail(constituentId: string, emailData: Email): Promise<ModifiedResponse>;
    updateConstituentEmailById(emailId: string, emailData: Email): Promise<ModifiedResponse>;
    getConstituentOnlinePresenceList(constituentId: string): Promise<ModifiedResponse>;
    createConstituentOnlinePresence(constituentId: string, onlinePresenceData: OnlinePresence): Promise<ModifiedResponse>;
    updateConstituentOnlinePresenceById(onlinePresenceId: string, onlinePresenceData: OnlinePresence): Promise<ModifiedResponse>;
    getConstituentPhoneList(constituentId: string): Promise<ModifiedResponse>;
    createConstituentPhone(constituentId: string, phoneData: Phone): Promise<ModifiedResponse>;
    updateConstituentWithRelatedObjects(constituentId: string, constituentData: Partial<Constituent>, addressData: Partial<Address>, emailData: Partial<Email>, onlinePresenceData: Partial<OnlinePresence>, phoneData: Partial<Phone>): Promise<UpdateConstituentResult>;
    updateConstituentPhoneById(phoneId: string, phoneData: Partial<Phone>): Promise<ModifiedResponse>;
    createGift(giftData: Gift): Promise<ModifiedResponse>;
    createConstituentAction(constituentActionData: ConstituentAction): Promise<ModifiedResponse>;
}
