package config_manager

import (
	"context"

	"github.com/tidbcloud/dataflow-service-ng/app/models/domain"
	"github.com/tidbcloud/pkgv2/bizerr"
)

type TiCDCClusterConfigManager interface {
	Create(
		ctx context.Context, req *domain.CreateTiCDCClusterConfigReq,
	) (*domain.CreateTiCDCClusterConfigResp, bizerr.BizError)
	Update(ctx context.Context, req *domain.UpdateTiCDCClusterConfigReq) bizerr.BizError
	Get(ctx context.Context, req *domain.GetTiCDCClusterConfigReq) (*domain.GetTiCDCClusterConfigResp, bizerr.BizError)
}

type ChangefeedConfigManager interface {
	Create(
		ctx context.Context, req *domain.CreateChangefeedConfigReq,
	) (*domain.CreateChangefeedConfigResp, bizerr.BizError)
	Update(ctx context.Context, req *domain.UpdateChangefeedConfigReq) bizerr.BizError
	Get(ctx context.Context, req *domain.GetChangefeedConfigReq) (*domain.GetChangefeedConfigResp, bizerr.BizError)
}
