// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

package com.android.tools.r8.retrace;

import com.android.tools.r8.DiagnosticsHandler;
import com.android.tools.r8.keepanno.annotations.KeepForApi;

@KeepForApi
public interface MappingSupplierAsync<T extends MappingSupplierAsync<T>>
    extends MappingSupplierBase<T> {

  Retracer createRetracer(
      DiagnosticsHandler diagnosticsHandler, MappingPartitionFromKeySupplier supplier);
}
