// Code generated by depstubber. DO NOT EDIT.
// This is a simple stub for github.com/gobwas/ws, strictly for use in testing.

// See the LICENSE file for information about the licensing of the original library.
// Source: github.com/gobwas/ws (exports: Dialer; functions: Dial)

// Package ws is a stub of github.com/gobwas/ws, generated by depstubber.
package ws

import (
	bufio "bufio"
	context "context"
	tls "crypto/tls"
	io "io"
	net "net"
	url "net/url"
	time "time"
)

func Dial(_ context.Context, _ string) (net.Conn, *bufio.Reader, Handshake, error) {
	return nil, nil, Handshake{}, nil
}

type Dialer struct {
	ReadBufferSize  int
	WriteBufferSize int
	Timeout         time.Duration
	Protocols       []string
	Extensions      []interface{}
	Header          HandshakeHeader
	OnStatusError   func(int, []byte, io.Reader)
	OnHeader        func([]byte, []byte) error
	NetDial         func(context.Context, string, string) (net.Conn, error)
	TLSClient       func(net.Conn, string) net.Conn
	TLSConfig       *tls.Config
	WrapConn        func(net.Conn) net.Conn
}

func (_ Dialer) Dial(_ context.Context, _ string) (net.Conn, *bufio.Reader, Handshake, error) {
	return nil, nil, Handshake{}, nil
}

func (_ Dialer) Upgrade(_ io.ReadWriter, _ *url.URL) (*bufio.Reader, Handshake, error) {
	return nil, Handshake{}, nil
}

type Handshake struct {
	Protocol   string
	Extensions []interface{}
}

type HandshakeHeader interface {
	WriteTo(_ io.Writer) (int64, error)
}
