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

package com.google.common.flogger;

import com.google.common.flogger.util.Checks;
import java.util.concurrent.TimeUnit;
import org.checkerframework.checker.nullness.compatqual.NullableDecl;
import com.google.errorprone.annotations.CheckReturnValue;

@CheckReturnValue
public interface LoggingApi<API extends LoggingApi<API>>
{
    API withCause(@NullableDecl final Throwable p0);
    
    API every(final int p0);
    
    API atMostEvery(final int p0, final TimeUnit p1);
    
    API withStackTrace(final StackSize p0);
    
     <T> API with(final MetadataKey<T> p0, @NullableDecl final T p1);
    
     <T> API with(final MetadataKey<Boolean> p0);
    
    API withInjectedLogSite(final LogSite p0);
    
    API withInjectedLogSite(final String p0, final String p1, final int p2, @NullableDecl final String p3);
    
    boolean isEnabled();
    
    void logVarargs(final String p0, @NullableDecl final Object[] p1);
    
    void log();
    
    void log(final String p0);
    
    void log(final String p0, @NullableDecl final Object p1);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8, @NullableDecl final Object p9);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8, @NullableDecl final Object p9, @NullableDecl final Object p10);
    
    void log(final String p0, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8, @NullableDecl final Object p9, @NullableDecl final Object p10, final Object... p11);
    
    void log(final String p0, final char p1);
    
    void log(final String p0, final byte p1);
    
    void log(final String p0, final short p1);
    
    void log(final String p0, final int p1);
    
    void log(final String p0, final long p1);
    
    void log(final String p0, @NullableDecl final Object p1, final boolean p2);
    
    void log(final String p0, @NullableDecl final Object p1, final char p2);
    
    void log(final String p0, @NullableDecl final Object p1, final byte p2);
    
    void log(final String p0, @NullableDecl final Object p1, final short p2);
    
    void log(final String p0, @NullableDecl final Object p1, final int p2);
    
    void log(final String p0, @NullableDecl final Object p1, final long p2);
    
    void log(final String p0, @NullableDecl final Object p1, final float p2);
    
    void log(final String p0, @NullableDecl final Object p1, final double p2);
    
    void log(final String p0, final boolean p1, @NullableDecl final Object p2);
    
    void log(final String p0, final char p1, @NullableDecl final Object p2);
    
    void log(final String p0, final byte p1, @NullableDecl final Object p2);
    
    void log(final String p0, final short p1, @NullableDecl final Object p2);
    
    void log(final String p0, final int p1, @NullableDecl final Object p2);
    
    void log(final String p0, final long p1, @NullableDecl final Object p2);
    
    void log(final String p0, final float p1, @NullableDecl final Object p2);
    
    void log(final String p0, final double p1, @NullableDecl final Object p2);
    
    void log(final String p0, final boolean p1, final boolean p2);
    
    void log(final String p0, final char p1, final boolean p2);
    
    void log(final String p0, final byte p1, final boolean p2);
    
    void log(final String p0, final short p1, final boolean p2);
    
    void log(final String p0, final int p1, final boolean p2);
    
    void log(final String p0, final long p1, final boolean p2);
    
    void log(final String p0, final float p1, final boolean p2);
    
    void log(final String p0, final double p1, final boolean p2);
    
    void log(final String p0, final boolean p1, final char p2);
    
    void log(final String p0, final char p1, final char p2);
    
    void log(final String p0, final byte p1, final char p2);
    
    void log(final String p0, final short p1, final char p2);
    
    void log(final String p0, final int p1, final char p2);
    
    void log(final String p0, final long p1, final char p2);
    
    void log(final String p0, final float p1, final char p2);
    
    void log(final String p0, final double p1, final char p2);
    
    void log(final String p0, final boolean p1, final byte p2);
    
    void log(final String p0, final char p1, final byte p2);
    
    void log(final String p0, final byte p1, final byte p2);
    
    void log(final String p0, final short p1, final byte p2);
    
    void log(final String p0, final int p1, final byte p2);
    
    void log(final String p0, final long p1, final byte p2);
    
    void log(final String p0, final float p1, final byte p2);
    
    void log(final String p0, final double p1, final byte p2);
    
    void log(final String p0, final boolean p1, final short p2);
    
    void log(final String p0, final char p1, final short p2);
    
    void log(final String p0, final byte p1, final short p2);
    
    void log(final String p0, final short p1, final short p2);
    
    void log(final String p0, final int p1, final short p2);
    
    void log(final String p0, final long p1, final short p2);
    
    void log(final String p0, final float p1, final short p2);
    
    void log(final String p0, final double p1, final short p2);
    
    void log(final String p0, final boolean p1, final int p2);
    
    void log(final String p0, final char p1, final int p2);
    
    void log(final String p0, final byte p1, final int p2);
    
    void log(final String p0, final short p1, final int p2);
    
    void log(final String p0, final int p1, final int p2);
    
    void log(final String p0, final long p1, final int p2);
    
    void log(final String p0, final float p1, final int p2);
    
    void log(final String p0, final double p1, final int p2);
    
    void log(final String p0, final boolean p1, final long p2);
    
    void log(final String p0, final char p1, final long p2);
    
    void log(final String p0, final byte p1, final long p2);
    
    void log(final String p0, final short p1, final long p2);
    
    void log(final String p0, final int p1, final long p2);
    
    void log(final String p0, final long p1, final long p2);
    
    void log(final String p0, final float p1, final long p2);
    
    void log(final String p0, final double p1, final long p2);
    
    void log(final String p0, final boolean p1, final float p2);
    
    void log(final String p0, final char p1, final float p2);
    
    void log(final String p0, final byte p1, final float p2);
    
    void log(final String p0, final short p1, final float p2);
    
    void log(final String p0, final int p1, final float p2);
    
    void log(final String p0, final long p1, final float p2);
    
    void log(final String p0, final float p1, final float p2);
    
    void log(final String p0, final double p1, final float p2);
    
    void log(final String p0, final boolean p1, final double p2);
    
    void log(final String p0, final char p1, final double p2);
    
    void log(final String p0, final byte p1, final double p2);
    
    void log(final String p0, final short p1, final double p2);
    
    void log(final String p0, final int p1, final double p2);
    
    void log(final String p0, final long p1, final double p2);
    
    void log(final String p0, final float p1, final double p2);
    
    void log(final String p0, final double p1, final double p2);
    
    public static class NoOp<API extends LoggingApi<API>> implements LoggingApi<API>
    {
        protected final API noOp() {
            return (API)this;
        }
        
        @Override
        public API withInjectedLogSite(final LogSite logSite) {
            return this.noOp();
        }
        
        @Override
        public API withInjectedLogSite(final String internalClassName, final String methodName, final int encodedLineNumber, @NullableDecl final String sourceFileName) {
            return this.noOp();
        }
        
        @Override
        public final boolean isEnabled() {
            return false;
        }
        
        @Override
        public final <T> API with(final MetadataKey<T> key, @NullableDecl final T value) {
            Checks.checkNotNull(key, "metadata key");
            return this.noOp();
        }
        
        @Override
        public final <T> API with(final MetadataKey<Boolean> key) {
            Checks.checkNotNull(key, "metadata key");
            return this.noOp();
        }
        
        @Override
        public final API withCause(@NullableDecl final Throwable cause) {
            return this.noOp();
        }
        
        @Override
        public final API every(final int n) {
            return this.noOp();
        }
        
        @Override
        public final API atMostEvery(final int n, final TimeUnit unit) {
            Checks.checkNotNull(unit, "time unit");
            return this.noOp();
        }
        
        @Override
        public API withStackTrace(final StackSize size) {
            Checks.checkNotNull(size, "stack size");
            return this.noOp();
        }
        
        @Override
        public final void logVarargs(final String msg, final Object[] params) {
        }
        
        @Override
        public final void log() {
        }
        
        @Override
        public final void log(final String msg) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8, @NullableDecl final Object p9) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8, @NullableDecl final Object p9, @NullableDecl final Object p10) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, @NullableDecl final Object p2, @NullableDecl final Object p3, @NullableDecl final Object p4, @NullableDecl final Object p5, @NullableDecl final Object p6, @NullableDecl final Object p7, @NullableDecl final Object p8, @NullableDecl final Object p9, @NullableDecl final Object p10, final Object... rest) {
        }
        
        @Override
        public final void log(final String msg, final char p1) {
        }
        
        @Override
        public final void log(final String msg, final byte p1) {
        }
        
        @Override
        public final void log(final String msg, final short p1) {
        }
        
        @Override
        public final void log(final String msg, final int p1) {
        }
        
        @Override
        public final void log(final String msg, final long p1) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, @NullableDecl final Object p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, @NullableDecl final Object p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final boolean p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final char p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final byte p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final short p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final int p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final long p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final float p2) {
        }
        
        @Override
        public final void log(final String msg, final boolean p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final char p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final byte p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final short p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final int p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final long p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final float p1, final double p2) {
        }
        
        @Override
        public final void log(final String msg, final double p1, final double p2) {
        }
    }
}
