// Code generated by op-codegen - DO NOT EDIT

package onepassword

import (
	"github.com/1password/onepassword-sdk-go/internal"
)

// Client represents an instance of the 1Password Go SDK client.
type Client struct {
	config          internal.ClientConfig
	SecretsAPI      SecretsAPI
	ItemsAPI        ItemsAPI
	VaultsAPI       VaultsAPI
	EnvironmentsAPI EnvironmentsAPI
	GroupsAPI       GroupsAPI
}

func initAPIs(client *Client, inner *internal.InnerClient) {
	client.SecretsAPI = NewSecretsSource(inner)
	client.ItemsAPI = NewItemsSource(inner)
	client.VaultsAPI = NewVaultsSource(inner)
	client.EnvironmentsAPI = NewEnvironmentsSource(inner)
	client.GroupsAPI = NewGroupsSource(inner)
}

func (c *Client) Secrets() SecretsAPI {
	return c.SecretsAPI
}
func (c *Client) Items() ItemsAPI {
	return c.ItemsAPI
}
func (c *Client) Vaults() VaultsAPI {
	return c.VaultsAPI
}
func (c *Client) Environments() EnvironmentsAPI {
	return c.EnvironmentsAPI
}
func (c *Client) Groups() GroupsAPI {
	return c.GroupsAPI
}
