/// import express from 'express'; import { PluginProperty } from '../../'; import { AudienceSegmentExternalFeedResource, AudienceSegmentResource } from '../../api/core/audiencesegment/AudienceSegmentInterface'; import { FeedDestinationCredentials } from '../../api/core/audiencesegment/FeedDestinationInterface'; import { BatchUpdatePluginResponse, BatchUpdateRequest } from '../../api/core/batchupdate/BatchUpdateInterface'; import { RealmFilter, UserAgentIdentifierRealmSelectionResource } from '../../api/core/webdomain/UserAgentIdentifierRealmSelectionInterface'; import { BatchedUserSegmentUpdatePluginResponse, CreateOAuthRedirectUrlPluginResponse, TestAuthenticationPluginResponse, ExternalSegmentAuthenticationResponse, ExternalSegmentAuthenticationStatusQueryResponse, ExternalSegmentConnectionPluginResponse, ExternalSegmentCreationPluginResponse, ExternalSegmentDynamicPropertyValuesQueryResponse, ExternalSegmentLogoutResponse, ExternalSegmentTroubleshootResponse, UserSegmentUpdatePluginResponse } from '../../api/plugin/audiencefeedconnector/AudienceFeedConnectorPluginResponseInterface'; import { AudienceFeedBatchContext, CreateOAuthRedirectUrlRequest, TestAuthenticationRequest, ExternalSegmentAuthenticationRequest, ExternalSegmentAuthenticationStatusQueryRequest, ExternalSegmentConnectionRequest, ExternalSegmentCreationRequest, ExternalSegmentDynamicPropertyValuesQueryRequest, ExternalSegmentLogoutRequest, ExternalSegmentTroubleshootRequest, UserSegmentUpdateRequest } from '../../api/plugin/audiencefeedconnector/AudienceFeedConnectorRequestInterface'; import { BasePlugin, PropertiesWrapper } from '../common'; export interface AudienceFeedConnectorBaseInstanceContext { feed: AudienceSegmentExternalFeedResource; feedProperties: PropertiesWrapper; } declare abstract class GenericAudienceFeedConnectorBasePlugin | UserSegmentUpdatePluginResponse> extends BasePlugin { constructor(enableThrottling?: boolean); fetchAudienceSegment(feedId: string): Promise; fetchUserAgentIdentifierRealms(datamartId: string): Promise>; checkUserAgentIdentifierRealm(datamartId: string, realmFilter: RealmFilter): Promise; fetchAudienceFeed(feedId: string): Promise; fetchAudienceFeedProperties(feedId: string): Promise; fetchFeedDestinationCredentials(feedDestinationId: string): Promise; upsertFeedDestinationCredentials(feedDestinationId: string, credentials: FeedDestinationCredentials): Promise; createAudienceFeedProperties(feedId: string, property: PluginProperty): Promise; updateAudienceFeedProperties(feedId: string, property: PluginProperty): Promise; protected instanceContextBuilder(feedId: string): Promise; protected abstract onExternalSegmentCreation(request: ExternalSegmentCreationRequest, instanceContext: AudienceFeedConnectorBaseInstanceContext): Promise; protected abstract onExternalSegmentConnection(request: ExternalSegmentConnectionRequest, instanceContext: AudienceFeedConnectorBaseInstanceContext): Promise; protected abstract onUserSegmentUpdate(request: UserSegmentUpdateRequest, instanceContext: AudienceFeedConnectorBaseInstanceContext): Promise; protected onTroubleshoot(request: ExternalSegmentTroubleshootRequest, instanceContext: AudienceFeedConnectorBaseInstanceContext): Promise; protected onAuthenticationStatusQuery(request: ExternalSegmentAuthenticationStatusQueryRequest): Promise; protected onAuthentication(request: ExternalSegmentAuthenticationRequest): Promise; protected onLogout(request: ExternalSegmentLogoutRequest): Promise; protected onDynamicPropertyValuesQuery(request: ExternalSegmentDynamicPropertyValuesQueryRequest): Promise; protected onTestAuthentication(request: TestAuthenticationRequest, credentials: FeedDestinationCredentials): Promise; protected onCreateOAuthRedirectUrl(request: CreateOAuthRedirectUrlRequest): Promise; protected getInstanceContext(feedId: string, forceRefresh?: boolean): Promise; protected emptyBodyFilter: (req: express.Request, res: express.Response, next: express.NextFunction) => void; private initExternalSegmentCreation; private initExternalSegmentConnection; private initUserSegmentUpdate; private initTroubleshoot; private initAuthenticationStatusQuery; private initAuthentication; private initLogoutQuery; private initTestAuthentication; private initCreateOAuthRedirectUrl; private initDynamicPropertyValuesQuery; } export declare abstract class BatchedAudienceFeedConnectorBasePlugin extends GenericAudienceFeedConnectorBasePlugin> { constructor(enableThrottling?: boolean); protected abstract onBatchUpdate(request: BatchUpdateRequest, instanceContext: AudienceFeedConnectorBaseInstanceContext): Promise; } export declare abstract class AudienceFeedConnectorBasePlugin extends GenericAudienceFeedConnectorBasePlugin { constructor(enableThrottling?: boolean); private initBatchUpdate; } export {};