// Signature format: 4.0
package androidx.tracing.perfetto {

  public final class PerfettoHandshake {
    ctor public PerfettoHandshake(String targetPackage, kotlin.jvm.functions.Function1<? super java.lang.String,? extends java.util.Map<java.lang.String,java.lang.String>> parseJsonMap, kotlin.jvm.functions.Function1<? super java.lang.String,java.lang.String> executeShellCommand);
    method public androidx.tracing.perfetto.PerfettoHandshake.EnableTracingResponse enableTracing(optional androidx.tracing.perfetto.PerfettoHandshake.ExternalLibraryProvider? libraryProvider);
  }

  public static final class PerfettoHandshake.EnableTracingResponse {
    method public int getExitCode();
    method public String? getMessage();
    method public String? getRequiredVersion();
    property public final int exitCode;
    property public final String? message;
    property public final String? requiredVersion;
  }

  public static final class PerfettoHandshake.ExternalLibraryProvider {
    ctor public PerfettoHandshake.ExternalLibraryProvider(java.io.File libraryZip, java.io.File tempDirectory, kotlin.jvm.functions.Function2<? super java.io.File,? super java.io.File,kotlin.Unit> moveTempDirectoryFileToDestination);
  }

  public static final class PerfettoHandshake.ResponseExitCodes {
    field public static final androidx.tracing.perfetto.PerfettoHandshake.ResponseExitCodes INSTANCE;
    field public static final int RESULT_CODE_ALREADY_ENABLED = 2; // 0x2
    field public static final int RESULT_CODE_CANCELLED = 0; // 0x0
    field public static final int RESULT_CODE_ERROR_BINARY_MISSING = 11; // 0xb
    field public static final int RESULT_CODE_ERROR_BINARY_VERIFICATION_ERROR = 13; // 0xd
    field public static final int RESULT_CODE_ERROR_BINARY_VERSION_MISMATCH = 12; // 0xc
    field public static final int RESULT_CODE_ERROR_OTHER = 99; // 0x63
    field public static final int RESULT_CODE_SUCCESS = 1; // 0x1
  }

}

