import 'package:superport_v2/core/common/models/paginated_result.dart';

import '../entities/approval_draft.dart';

/// 결재 초안 저장소 인터페이스.
abstract class ApprovalDraftRepository {
  Future<PaginatedResult<ApprovalDraftSummary>> list(
    ApprovalDraftListFilter filter,
  );

  Future<ApprovalDraftDetail?> fetch({
    required int id,
    required int requesterId,
  });

  Future<ApprovalDraftDetail> save(ApprovalDraftSaveInput input);

  Future<void> delete({required int id, required int requesterId});
}
