import { CreateTargetingPresets } from '../definitions/CreateTargetingPresets'
import { CreateTargetingPresetsResponse } from '../definitions/CreateTargetingPresetsResponse'
import { GetTargetingPresetsByStatement } from '../definitions/GetTargetingPresetsByStatement'
import { GetTargetingPresetsByStatementResponse } from '../definitions/GetTargetingPresetsByStatementResponse'
import { PerformTargetingPresetAction } from '../definitions/PerformTargetingPresetAction'
import { PerformTargetingPresetActionResponse } from '../definitions/PerformTargetingPresetActionResponse'
import { UpdateTargetingPresets } from '../definitions/UpdateTargetingPresets'
import { UpdateTargetingPresetsResponse } from '../definitions/UpdateTargetingPresetsResponse'

export interface TargetingPresetServiceInterfacePort {
  createTargetingPresets(
    createTargetingPresets: CreateTargetingPresets,
    callback: (
      err: any,
      result: CreateTargetingPresetsResponse,
      rawResponse: any,
      soapHeader: any,
      rawRequest: any,
    ) => void,
  ): void
  getTargetingPresetsByStatement(
    getTargetingPresetsByStatement: GetTargetingPresetsByStatement,
    callback: (
      err: any,
      result: GetTargetingPresetsByStatementResponse,
      rawResponse: any,
      soapHeader: any,
      rawRequest: any,
    ) => void,
  ): void
  performTargetingPresetAction(
    performTargetingPresetAction: PerformTargetingPresetAction,
    callback: (
      err: any,
      result: PerformTargetingPresetActionResponse,
      rawResponse: any,
      soapHeader: any,
      rawRequest: any,
    ) => void,
  ): void
  updateTargetingPresets(
    updateTargetingPresets: UpdateTargetingPresets,
    callback: (
      err: any,
      result: UpdateTargetingPresetsResponse,
      rawResponse: any,
      soapHeader: any,
      rawRequest: any,
    ) => void,
  ): void
}
