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

  public final class PerfettoSdkHandshake {
    ctor public PerfettoSdkHandshake(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.handshake.protocol.Response disableTracingColdStart();
    method public androidx.tracing.perfetto.handshake.protocol.Response enableTracingColdStart();
    method public androidx.tracing.perfetto.handshake.protocol.Response enableTracingColdStart(optional boolean persistent);
    method public androidx.tracing.perfetto.handshake.protocol.Response enableTracingColdStart(optional boolean persistent, optional androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource? librarySource);
    method public androidx.tracing.perfetto.handshake.protocol.Response enableTracingImmediate(optional androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource? librarySource);
  }

  public abstract static sealed class PerfettoSdkHandshake.LibrarySource {
    method public static final androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource aarLibrarySource(java.io.File aarFile, java.io.File tempDirectory, kotlin.jvm.functions.Function2<? super java.io.File,? super java.io.File,kotlin.Unit> moveLibFileFromTmpDirToAppDir);
    method public static final androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource apkLibrarySource(java.io.File apkFile, java.io.File tempDirectory, kotlin.jvm.functions.Function2<? super java.io.File,? super java.io.File,kotlin.Unit> moveLibFileFromTmpDirToAppDir);
    field public static final androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource.Companion Companion;
  }

  public static final class PerfettoSdkHandshake.LibrarySource.Companion {
    method public androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource aarLibrarySource(java.io.File aarFile, java.io.File tempDirectory, kotlin.jvm.functions.Function2<? super java.io.File,? super java.io.File,kotlin.Unit> moveLibFileFromTmpDirToAppDir);
    method public androidx.tracing.perfetto.handshake.PerfettoSdkHandshake.LibrarySource apkLibrarySource(java.io.File apkFile, java.io.File tempDirectory, kotlin.jvm.functions.Function2<? super java.io.File,? super java.io.File,kotlin.Unit> moveLibFileFromTmpDirToAppDir);
  }

}

package androidx.tracing.perfetto.handshake.protocol {

  public final class Response {
    method public String? getMessage();
    method public String? getRequiredVersion();
    method public int getResultCode();
    property public final String? message;
    property public final String? requiredVersion;
    property public final int resultCode;
  }

  public final class ResponseResultCodes {
    field public static final androidx.tracing.perfetto.handshake.protocol.ResponseResultCodes 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
  }

}

