import { IProject } from '../project'; export declare enum Identifier { COA = "COA", Chevre = "Chevre" } /** * WebAPI */ export interface IService { typeOf: 'WebAPI'; identifier: T; } export interface ICredentials { endpoint: string; refreshToken: string; useFetch: boolean; /** * リモートリポジトリへの認証情報保管期間 */ expireInSeconds?: number; } export interface IAvailableChannel { typeOf: 'ServiceChannel'; credentials?: ICredentials; importEventsInWeeks?: number; excludeMovieTheaters?: string[]; /** * 会員オファーを利用可能な注文取引クライアント */ memberClients?: string[]; /** * 会員クーポンとして利用可能な決済方法区分 */ paymentMethodType4membershipCoupon: string; } /** * 外部サービス設定を含むWebAPI */ export interface IServiceWithChannel extends Pick, 'typeOf'> { project: Pick; id?: string; availableChannel?: IAvailableChannel; }