import { BaseEntityClass } from '../base/base.entity'; import { EmailAddress, AccountEntity } from '..'; import { INTEGRATION_TYPE } from './enum'; export declare class IntegrationConfig { } export declare class IntegrationEmailResponseConfig extends IntegrationConfig { subject: string; textBody?: string; sender?: EmailAddress; replyTo?: EmailAddress; recipientCc?: EmailAddress; recipientBcc?: EmailAddress; } export declare class IntegrationEmailForwardingConfig extends IntegrationEmailResponseConfig { recipient: EmailAddress; } export declare class IntegrationPipedriveConfig extends IntegrationConfig { } export declare class IntegrationWebhookConfig extends IntegrationConfig { /** * Fields which should be filtered before forwarding */ excludedFields?: string[]; /** * Data that should be submitted in addition to the captured data * Important: This will overwrite captured data with matching keys */ supplementaryData?: { key: string; value: string; }[]; } export declare class IntegrationEntity extends BaseEntityClass { id: string; title: string; type: INTEGRATION_TYPE; config: IntegrationConfig | IntegrationEmailForwardingConfig | IntegrationEmailResponseConfig | IntegrationPipedriveConfig | IntegrationWebhookConfig; isEnabled: boolean; /** * If the project relies on external data, a account contains the necessary credentials to access the data */ accounts: AccountEntity[]; constructor(partial: Partial); }