package kotlin.reflect.jvm.internal.impl.descriptors;

import defpackage.kp6;
import defpackage.pq6;
import java.util.Collection;
import java.util.List;
import kotlin.reflect.jvm.internal.impl.types.KotlinType;

/* JADX INFO: loaded from: classes3.dex */
public interface CallableDescriptor extends DeclarationDescriptorNonRoot, DeclarationDescriptorWithVisibility, Substitutable<CallableDescriptor> {

    public interface UserDataKey<V> {
    }

    @kp6
    List<ReceiverParameterDescriptor> getContextReceiverParameters();

    @pq6
    ReceiverParameterDescriptor getDispatchReceiverParameter();

    @pq6
    ReceiverParameterDescriptor getExtensionReceiverParameter();

    @Override // kotlin.reflect.jvm.internal.impl.descriptors.DeclarationDescriptor
    @kp6
    CallableDescriptor getOriginal();

    @kp6
    Collection<? extends CallableDescriptor> getOverriddenDescriptors();

    @pq6
    KotlinType getReturnType();

    @kp6
    List<TypeParameterDescriptor> getTypeParameters();

    @pq6
    <V> V getUserData(UserDataKey<V> userDataKey);

    @kp6
    List<ValueParameterDescriptor> getValueParameters();

    boolean hasSynthesizedParameterNames();
}
