// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import io.sentry.protocol.SentryId;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
import java.util.List;
import org.jetbrains.annotations.ApiStatus;
import io.sentry.protocol.TransactionNameSource;
import org.jetbrains.annotations.NotNull;

public interface ITransaction extends ISpan
{
    void setName(@NotNull final String p0);
    
    @ApiStatus.Internal
    void setName(@NotNull final String p0, @NotNull final TransactionNameSource p1);
    
    @NotNull
    String getName();
    
    @NotNull
    TransactionNameSource getTransactionNameSource();
    
    @NotNull
    @TestOnly
    List<Span> getSpans();
    
    @NotNull
    ISpan startChild(@NotNull final String p0, @Nullable final String p1, @Nullable final SentryDate p2);
    
    @Nullable
    Boolean isProfileSampled();
    
    @Nullable
    ISpan getLatestActiveSpan();
    
    void scheduleFinish();
    
    @ApiStatus.Internal
    void forceFinish(@NotNull final SpanStatus p0, final boolean p1, @Nullable final Hint p2);
    
    @ApiStatus.Internal
    void finish(@Nullable final SpanStatus p0, @Nullable final SentryDate p1, final boolean p2, @Nullable final Hint p3);
    
    @NotNull
    SentryId getEventId();
}
