import type { Statement } from "../../../common/types";
import type { Contact, ContactPage } from "./contact.type";
/**
 *
 */
export interface ContactServiceOperations {
    /**
     * Creates new {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact Contact} objects.
     *
     * @param contacts the contacts to create
     * @returns the created contacts with their IDs filled in
     */
    createContacts(contacts: Partial<Contact>[]): Promise<Contact[]>;
    /**
     * Gets a {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.ContactPage ContactPage}
     * of {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact Contact} objects that satisfy the given
     * {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Statement#query Statement.query}.
     * The following fields are supported for filtering:
     *
     * | PQL Property | PQL Property                                                                                                              |
     * | ------------ | ------------------------------------------------------------------------------------------------------------------------- |
     * | name         | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#name Contact.name}           |
     * | email        | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#email Contact.email}         |
     * | id           | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#id Contact.id}               |
     * | comment      | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#comment Contact.comment}     |
     * | title        | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#title Contact.title}         |
     * | companyId    | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#companyId Contact.companyId} |
     * | cellPhone    | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#cellPhone Contact.cellPhone} |
     * | workPhone    | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#workPhone Contact.workPhone} |
     * | faxPhone     | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#faxPhone Contact.faxPhone}   |
     * | status       | {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact#status Contact.status}       |
     *
     * @param statement
     * @returns the contacts that match the given filter
     */
    getContactsByStatement(statement: Statement): Promise<ContactPage>;
    /**
     * Updates the specified {@link https://developers.google.com/ad-manager/api/reference/latest/ContactService.Contact Contact} objects.
     *
     * @param contacts the contacts to update
     * @returns the updated contacts
     */
    updateContacts(contacts: Contact[]): Promise<Contact[]>;
}
//# sourceMappingURL=contactService.interface.d.ts.map