package iface

import (
	"context"
)

type CheckpointReaderWriter interface {
	GetCheckpoint(ctx context.Context, taskName string) (int64, error)
	SaveCheckpoint(ctx context.Context, taskName string, checkpointTimestamp int64) error
}

type ScheduleTaskDataSync interface {
	S3FileName(ctx context.Context, taskName string, timestamp int64) string
	LocalDataFilePath(ctx context.Context, taskName string, timestamp int64) string
	Download(ctx context.Context, taskName string, timestamp int64) (string, error)
	Upload(ctx context.Context, taskName string, timestamp int64) error
}
