class NettyChannelBuilder extends AbstractManagedChannelImplBuilder<NettyChannelBuilder> {

  public NettyChannelBuilder sslContext(SslContext sslContext) {
    if (sslContext != null) {
      checkArgument(sslContext.isClient(),
          "Server SSL context can not be used for client channel");
      GrpcSslContexts.ensureAlpnAndH2Enabled(sslContext.applicationProtocolNegotiator());
    }
    this.sslContext = sslContext;
    return this;
  }

  @CheckReturnValue  NettyChannelBuilder(String host, int port);
  @CheckReturnValue  NettyChannelBuilder(String target);
  @CheckReturnValue  NettyChannelBuilder(SocketAddress address);

}