// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/awa/go-iap/playstore (interfaces: IABProduct,IABSubscription,IABSubscriptionV2,IABMonetization)
//
// Generated by this command:
//
//	mockgen -destination=mocks/playstore.go -package=mocks github.com/awa/go-iap/playstore IABProduct,IABSubscription,IABSubscriptionV2,IABMonetization
//

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
	androidpublisher "google.golang.org/api/androidpublisher/v3"
)

// MockIABProduct is a mock of IABProduct interface.
type MockIABProduct struct {
	ctrl     *gomock.Controller
	recorder *MockIABProductMockRecorder
	isgomock struct{}
}

// MockIABProductMockRecorder is the mock recorder for MockIABProduct.
type MockIABProductMockRecorder struct {
	mock *MockIABProduct
}

// NewMockIABProduct creates a new mock instance.
func NewMockIABProduct(ctrl *gomock.Controller) *MockIABProduct {
	mock := &MockIABProduct{ctrl: ctrl}
	mock.recorder = &MockIABProductMockRecorder{mock}
	return mock
}

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

// AcknowledgeProduct mocks base method.
func (m *MockIABProduct) AcknowledgeProduct(arg0 context.Context, arg1, arg2, arg3, arg4 string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AcknowledgeProduct", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(error)
	return ret0
}

// AcknowledgeProduct indicates an expected call of AcknowledgeProduct.
func (mr *MockIABProductMockRecorder) AcknowledgeProduct(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AcknowledgeProduct", reflect.TypeOf((*MockIABProduct)(nil).AcknowledgeProduct), arg0, arg1, arg2, arg3, arg4)
}

// ConsumeProduct mocks base method.
func (m *MockIABProduct) ConsumeProduct(arg0 context.Context, arg1, arg2, arg3 string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ConsumeProduct", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(error)
	return ret0
}

// ConsumeProduct indicates an expected call of ConsumeProduct.
func (mr *MockIABProductMockRecorder) ConsumeProduct(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConsumeProduct", reflect.TypeOf((*MockIABProduct)(nil).ConsumeProduct), arg0, arg1, arg2, arg3)
}

// VerifyProduct mocks base method.
func (m *MockIABProduct) VerifyProduct(arg0 context.Context, arg1, arg2, arg3 string) (*androidpublisher.ProductPurchase, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "VerifyProduct", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*androidpublisher.ProductPurchase)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// VerifyProduct indicates an expected call of VerifyProduct.
func (mr *MockIABProductMockRecorder) VerifyProduct(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyProduct", reflect.TypeOf((*MockIABProduct)(nil).VerifyProduct), arg0, arg1, arg2, arg3)
}

// MockIABSubscription is a mock of IABSubscription interface.
type MockIABSubscription struct {
	ctrl     *gomock.Controller
	recorder *MockIABSubscriptionMockRecorder
	isgomock struct{}
}

// MockIABSubscriptionMockRecorder is the mock recorder for MockIABSubscription.
type MockIABSubscriptionMockRecorder struct {
	mock *MockIABSubscription
}

// NewMockIABSubscription creates a new mock instance.
func NewMockIABSubscription(ctrl *gomock.Controller) *MockIABSubscription {
	mock := &MockIABSubscription{ctrl: ctrl}
	mock.recorder = &MockIABSubscriptionMockRecorder{mock}
	return mock
}

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

// AcknowledgeSubscription mocks base method.
func (m *MockIABSubscription) AcknowledgeSubscription(arg0 context.Context, arg1, arg2, arg3 string, arg4 *androidpublisher.SubscriptionPurchasesAcknowledgeRequest) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AcknowledgeSubscription", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(error)
	return ret0
}

// AcknowledgeSubscription indicates an expected call of AcknowledgeSubscription.
func (mr *MockIABSubscriptionMockRecorder) AcknowledgeSubscription(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AcknowledgeSubscription", reflect.TypeOf((*MockIABSubscription)(nil).AcknowledgeSubscription), arg0, arg1, arg2, arg3, arg4)
}

// CancelSubscription mocks base method.
func (m *MockIABSubscription) CancelSubscription(arg0 context.Context, arg1, arg2, arg3 string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CancelSubscription", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(error)
	return ret0
}

// CancelSubscription indicates an expected call of CancelSubscription.
func (mr *MockIABSubscriptionMockRecorder) CancelSubscription(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CancelSubscription", reflect.TypeOf((*MockIABSubscription)(nil).CancelSubscription), arg0, arg1, arg2, arg3)
}

// DeferSubscription mocks base method.
func (m *MockIABSubscription) DeferSubscription(arg0 context.Context, arg1, arg2, arg3 string, arg4 *androidpublisher.SubscriptionPurchasesDeferRequest) (*androidpublisher.SubscriptionPurchasesDeferResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeferSubscription", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*androidpublisher.SubscriptionPurchasesDeferResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeferSubscription indicates an expected call of DeferSubscription.
func (mr *MockIABSubscriptionMockRecorder) DeferSubscription(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeferSubscription", reflect.TypeOf((*MockIABSubscription)(nil).DeferSubscription), arg0, arg1, arg2, arg3, arg4)
}

// RefundSubscription mocks base method.
func (m *MockIABSubscription) RefundSubscription(arg0 context.Context, arg1, arg2, arg3 string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RefundSubscription", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(error)
	return ret0
}

// RefundSubscription indicates an expected call of RefundSubscription.
func (mr *MockIABSubscriptionMockRecorder) RefundSubscription(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RefundSubscription", reflect.TypeOf((*MockIABSubscription)(nil).RefundSubscription), arg0, arg1, arg2, arg3)
}

// RevokeSubscription mocks base method.
func (m *MockIABSubscription) RevokeSubscription(arg0 context.Context, arg1, arg2, arg3 string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RevokeSubscription", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(error)
	return ret0
}

// RevokeSubscription indicates an expected call of RevokeSubscription.
func (mr *MockIABSubscriptionMockRecorder) RevokeSubscription(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RevokeSubscription", reflect.TypeOf((*MockIABSubscription)(nil).RevokeSubscription), arg0, arg1, arg2, arg3)
}

// VerifySubscription mocks base method.
func (m *MockIABSubscription) VerifySubscription(arg0 context.Context, arg1, arg2, arg3 string) (*androidpublisher.SubscriptionPurchase, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "VerifySubscription", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*androidpublisher.SubscriptionPurchase)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// VerifySubscription indicates an expected call of VerifySubscription.
func (mr *MockIABSubscriptionMockRecorder) VerifySubscription(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifySubscription", reflect.TypeOf((*MockIABSubscription)(nil).VerifySubscription), arg0, arg1, arg2, arg3)
}

// MockIABSubscriptionV2 is a mock of IABSubscriptionV2 interface.
type MockIABSubscriptionV2 struct {
	ctrl     *gomock.Controller
	recorder *MockIABSubscriptionV2MockRecorder
	isgomock struct{}
}

// MockIABSubscriptionV2MockRecorder is the mock recorder for MockIABSubscriptionV2.
type MockIABSubscriptionV2MockRecorder struct {
	mock *MockIABSubscriptionV2
}

// NewMockIABSubscriptionV2 creates a new mock instance.
func NewMockIABSubscriptionV2(ctrl *gomock.Controller) *MockIABSubscriptionV2 {
	mock := &MockIABSubscriptionV2{ctrl: ctrl}
	mock.recorder = &MockIABSubscriptionV2MockRecorder{mock}
	return mock
}

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

// RevokeSubscriptionV2 mocks base method.
func (m *MockIABSubscriptionV2) RevokeSubscriptionV2(arg0 context.Context, arg1, arg2 string, arg3 *androidpublisher.RevokeSubscriptionPurchaseRequest) (*androidpublisher.RevokeSubscriptionPurchaseResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RevokeSubscriptionV2", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*androidpublisher.RevokeSubscriptionPurchaseResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RevokeSubscriptionV2 indicates an expected call of RevokeSubscriptionV2.
func (mr *MockIABSubscriptionV2MockRecorder) RevokeSubscriptionV2(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RevokeSubscriptionV2", reflect.TypeOf((*MockIABSubscriptionV2)(nil).RevokeSubscriptionV2), arg0, arg1, arg2, arg3)
}

// VerifySubscriptionV2 mocks base method.
func (m *MockIABSubscriptionV2) VerifySubscriptionV2(arg0 context.Context, arg1, arg2 string) (*androidpublisher.SubscriptionPurchaseV2, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "VerifySubscriptionV2", arg0, arg1, arg2)
	ret0, _ := ret[0].(*androidpublisher.SubscriptionPurchaseV2)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// VerifySubscriptionV2 indicates an expected call of VerifySubscriptionV2.
func (mr *MockIABSubscriptionV2MockRecorder) VerifySubscriptionV2(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifySubscriptionV2", reflect.TypeOf((*MockIABSubscriptionV2)(nil).VerifySubscriptionV2), arg0, arg1, arg2)
}

// MockIABMonetization is a mock of IABMonetization interface.
type MockIABMonetization struct {
	ctrl     *gomock.Controller
	recorder *MockIABMonetizationMockRecorder
	isgomock struct{}
}

// MockIABMonetizationMockRecorder is the mock recorder for MockIABMonetization.
type MockIABMonetizationMockRecorder struct {
	mock *MockIABMonetization
}

// NewMockIABMonetization creates a new mock instance.
func NewMockIABMonetization(ctrl *gomock.Controller) *MockIABMonetization {
	mock := &MockIABMonetization{ctrl: ctrl}
	mock.recorder = &MockIABMonetizationMockRecorder{mock}
	return mock
}

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

// GetSubscription mocks base method.
func (m *MockIABMonetization) GetSubscription(ctx context.Context, packageName, productID string) (*androidpublisher.Subscription, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSubscription", ctx, packageName, productID)
	ret0, _ := ret[0].(*androidpublisher.Subscription)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSubscription indicates an expected call of GetSubscription.
func (mr *MockIABMonetizationMockRecorder) GetSubscription(ctx, packageName, productID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscription", reflect.TypeOf((*MockIABMonetization)(nil).GetSubscription), ctx, packageName, productID)
}

// GetSubscriptionOffer mocks base method.
func (m *MockIABMonetization) GetSubscriptionOffer(arg0 context.Context, arg1, arg2, arg3, arg4 string) (*androidpublisher.SubscriptionOffer, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSubscriptionOffer", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*androidpublisher.SubscriptionOffer)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSubscriptionOffer indicates an expected call of GetSubscriptionOffer.
func (mr *MockIABMonetizationMockRecorder) GetSubscriptionOffer(arg0, arg1, arg2, arg3, arg4 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubscriptionOffer", reflect.TypeOf((*MockIABMonetization)(nil).GetSubscriptionOffer), arg0, arg1, arg2, arg3, arg4)
}
