// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/authelia/authelia/v4/internal/duo (interfaces: BaseProvider)
//
// Generated by this command:
//
//	mockgen -package mocks -destination duo_base_api.go -mock_names BaseProvider=MockDuoBaseProvider github.com/authelia/authelia/v4/internal/duo BaseProvider
//

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

import (
	http "net/http"
	url "net/url"
	reflect "reflect"

	duoapi "github.com/duosecurity/duo_api_golang"
	gomock "go.uber.org/mock/gomock"
)

// MockDuoBaseProvider is a mock of BaseProvider interface.
type MockDuoBaseProvider struct {
	ctrl     *gomock.Controller
	recorder *MockDuoBaseProviderMockRecorder
	isgomock struct{}
}

// MockDuoBaseProviderMockRecorder is the mock recorder for MockDuoBaseProvider.
type MockDuoBaseProviderMockRecorder struct {
	mock *MockDuoBaseProvider
}

// NewMockDuoBaseProvider creates a new mock instance.
func NewMockDuoBaseProvider(ctrl *gomock.Controller) *MockDuoBaseProvider {
	mock := &MockDuoBaseProvider{ctrl: ctrl}
	mock.recorder = &MockDuoBaseProviderMockRecorder{mock}
	return mock
}

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

// SignedCall mocks base method.
func (m *MockDuoBaseProvider) SignedCall(method, uri string, params url.Values, options ...duoapi.DuoApiOption) (*http.Response, []byte, error) {
	m.ctrl.T.Helper()
	varargs := []any{method, uri, params}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "SignedCall", varargs...)
	ret0, _ := ret[0].(*http.Response)
	ret1, _ := ret[1].([]byte)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SignedCall indicates an expected call of SignedCall.
func (mr *MockDuoBaseProviderMockRecorder) SignedCall(method, uri, params any, options ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{method, uri, params}, options...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignedCall", reflect.TypeOf((*MockDuoBaseProvider)(nil).SignedCall), varargs...)
}
