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

package io.sentry;

import io.sentry.transport.RateLimiter;
import org.jetbrains.annotations.ApiStatus;
import io.sentry.protocol.SentryTransaction;
import io.sentry.protocol.Feedback;
import io.sentry.protocol.SentryId;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;

final class NoOpSentryClient implements ISentryClient
{
    private static final NoOpSentryClient instance;
    
    private NoOpSentryClient() {
    }
    
    public static NoOpSentryClient getInstance() {
        return NoOpSentryClient.instance;
    }
    
    @Override
    public boolean isEnabled() {
        return false;
    }
    
    @NotNull
    @Override
    public SentryId captureEvent(@NotNull final SentryEvent event, @Nullable final IScope scope, @Nullable final Hint hint) {
        return SentryId.EMPTY_ID;
    }
    
    @Override
    public void close(final boolean isRestarting) {
    }
    
    @Override
    public void close() {
    }
    
    @Override
    public void flush(final long timeoutMillis) {
    }
    
    @NotNull
    @Override
    public SentryId captureFeedback(@NotNull final Feedback feedback, @Nullable final Hint hint, @NotNull final IScope scope) {
        return SentryId.EMPTY_ID;
    }
    
    @Override
    public void captureUserFeedback(@NotNull final UserFeedback userFeedback) {
    }
    
    @Override
    public void captureSession(@NotNull final Session session, @Nullable final Hint hint) {
    }
    
    @Override
    public SentryId captureEnvelope(@NotNull final SentryEnvelope envelope, @Nullable final Hint hint) {
        return SentryId.EMPTY_ID;
    }
    
    @NotNull
    @Override
    public SentryId captureTransaction(@NotNull final SentryTransaction transaction, @Nullable final TraceContext traceContext, @Nullable final IScope scope, @Nullable final Hint hint, @Nullable final ProfilingTraceData profilingTraceData) {
        return SentryId.EMPTY_ID;
    }
    
    @NotNull
    @Override
    public SentryId captureProfileChunk(@NotNull final ProfileChunk profileChunk, @Nullable final IScope scope) {
        return SentryId.EMPTY_ID;
    }
    
    @NotNull
    @Override
    public SentryId captureCheckIn(@NotNull final CheckIn checkIn, @Nullable final IScope scope, @Nullable final Hint hint) {
        return SentryId.EMPTY_ID;
    }
    
    @NotNull
    @Override
    public SentryId captureReplayEvent(@NotNull final SentryReplayEvent event, @Nullable final IScope scope, @Nullable final Hint hint) {
        return SentryId.EMPTY_ID;
    }
    
    @Override
    public void captureLog(@NotNull final SentryLogEvent logEvent, @Nullable final IScope scope) {
    }
    
    @ApiStatus.Internal
    @Override
    public void captureBatchedLogEvents(@NotNull final SentryLogEvents logEvents) {
    }
    
    @Nullable
    @Override
    public RateLimiter getRateLimiter() {
        return null;
    }
    
    static {
        instance = new NoOpSentryClient();
    }
}
