--[[
	This module contains the various actions a user can perform with Selfie
	Mode.

	Each of these actions is rendered as a button along the ActionBar.

	The `name` and `description` correspond to the text displayed in a tooltip
	when hovering the action. The `icon` is the default image for the button,
	and `activeIcon` is what is used when the action is in an "active" state
]]


local enums = require(script.enums)
local types = require(script.types)

export type Action = types.Action
export type State = types.State

return {
	-- Enums
	Action = enums.Action,

	-- Functions
	getAction = require(script.getAction),
	actionToggled = require(script.Actions.actionToggled),
	actionActivated = require(script.Actions.actionActivated),
	actionDeactivated = require(script.Actions.actionDeactivated),
	filterChanged = require(script.Actions.filterChanged),
	poseChanged = require(script.Actions.poseChanged),
	isActionActive = require(script.Selectors.isActionActive),
	getActiveSubAction = require(script.Selectors.getActiveSubAction),
	reducer = require(script.reducer),

	-- Action definitions
	actions = require(script.Definitions),
}
