// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/c9s/bbgo/pkg/types (interfaces: ExchangePublic)
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_exchange_public.go -package=mocks . ExchangePublic
//

// Package mocks is a generated GoMock package.
package mocks

import (
	context "context"
	reflect "reflect"

	types "github.com/c9s/bbgo/pkg/types"
	gomock "go.uber.org/mock/gomock"
)

// MockExchangePublic is a mock of ExchangePublic interface.
type MockExchangePublic struct {
	ctrl     *gomock.Controller
	recorder *MockExchangePublicMockRecorder
	isgomock struct{}
}

// MockExchangePublicMockRecorder is the mock recorder for MockExchangePublic.
type MockExchangePublicMockRecorder struct {
	mock *MockExchangePublic
}

// NewMockExchangePublic creates a new mock instance.
func NewMockExchangePublic(ctrl *gomock.Controller) *MockExchangePublic {
	mock := &MockExchangePublic{ctrl: ctrl}
	mock.recorder = &MockExchangePublicMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockExchangePublic) EXPECT() *MockExchangePublicMockRecorder {
	return m.recorder
}

// Name mocks base method.
func (m *MockExchangePublic) Name() types.ExchangeName {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Name")
	ret0, _ := ret[0].(types.ExchangeName)
	return ret0
}

// Name indicates an expected call of Name.
func (mr *MockExchangePublicMockRecorder) Name() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockExchangePublic)(nil).Name))
}

// NewStream mocks base method.
func (m *MockExchangePublic) NewStream() types.Stream {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NewStream")
	ret0, _ := ret[0].(types.Stream)
	return ret0
}

// NewStream indicates an expected call of NewStream.
func (mr *MockExchangePublicMockRecorder) NewStream() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewStream", reflect.TypeOf((*MockExchangePublic)(nil).NewStream))
}

// PlatformFeeCurrency mocks base method.
func (m *MockExchangePublic) PlatformFeeCurrency() string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PlatformFeeCurrency")
	ret0, _ := ret[0].(string)
	return ret0
}

// PlatformFeeCurrency indicates an expected call of PlatformFeeCurrency.
func (mr *MockExchangePublicMockRecorder) PlatformFeeCurrency() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PlatformFeeCurrency", reflect.TypeOf((*MockExchangePublic)(nil).PlatformFeeCurrency))
}

// QueryKLines mocks base method.
func (m *MockExchangePublic) QueryKLines(ctx context.Context, symbol string, interval types.Interval, options types.KLineQueryOptions) ([]types.KLine, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueryKLines", ctx, symbol, interval, options)
	ret0, _ := ret[0].([]types.KLine)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryKLines indicates an expected call of QueryKLines.
func (mr *MockExchangePublicMockRecorder) QueryKLines(ctx, symbol, interval, options any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryKLines", reflect.TypeOf((*MockExchangePublic)(nil).QueryKLines), ctx, symbol, interval, options)
}

// QueryMarkets mocks base method.
func (m *MockExchangePublic) QueryMarkets(ctx context.Context) (types.MarketMap, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueryMarkets", ctx)
	ret0, _ := ret[0].(types.MarketMap)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryMarkets indicates an expected call of QueryMarkets.
func (mr *MockExchangePublicMockRecorder) QueryMarkets(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryMarkets", reflect.TypeOf((*MockExchangePublic)(nil).QueryMarkets), ctx)
}

// QueryTicker mocks base method.
func (m *MockExchangePublic) QueryTicker(ctx context.Context, symbol string) (*types.Ticker, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueryTicker", ctx, symbol)
	ret0, _ := ret[0].(*types.Ticker)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryTicker indicates an expected call of QueryTicker.
func (mr *MockExchangePublicMockRecorder) QueryTicker(ctx, symbol any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTicker", reflect.TypeOf((*MockExchangePublic)(nil).QueryTicker), ctx, symbol)
}

// QueryTickers mocks base method.
func (m *MockExchangePublic) QueryTickers(ctx context.Context, symbol ...string) (map[string]types.Ticker, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range symbol {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "QueryTickers", varargs...)
	ret0, _ := ret[0].(map[string]types.Ticker)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// QueryTickers indicates an expected call of QueryTickers.
func (mr *MockExchangePublicMockRecorder) QueryTickers(ctx any, symbol ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, symbol...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryTickers", reflect.TypeOf((*MockExchangePublic)(nil).QueryTickers), varargs...)
}
