From 7524ed3164bffef8f7322ce000cdb98762aea8ad Mon Sep 17 00:00:00 2001
From: thepaperpilot <thepaperpilot@gmail.com>
Date: Tue, 8 Mar 2022 19:40:51 -0600
Subject: [PATCH] Export more types

---
 src/data/common.tsx                       | 2 +-
 src/data/themes.ts                        | 2 +-
 src/features/achievements/achievement.tsx | 2 +-
 src/features/bars/bar.ts                  | 2 +-
 src/features/boards/board.ts              | 2 +-
 src/features/buyable.tsx                  | 4 ++--
 src/features/challenges/challenge.tsx     | 2 +-
 src/features/clickables/clickable.ts      | 2 +-
 src/features/conversion.ts                | 2 +-
 src/features/hotkey.ts                    | 2 +-
 src/features/infoboxes/infobox.ts         | 2 +-
 src/features/milestones/milestone.tsx     | 2 +-
 src/features/reset.ts                     | 2 +-
 src/features/tabs/tab.ts                  | 2 +-
 src/features/tabs/tabFamily.ts            | 4 ++--
 src/features/trees/tree.ts                | 2 +-
 src/features/upgrades/upgrade.ts          | 2 +-
 src/util/computed.ts                      | 4 ++--
 src/util/vue.tsx                          | 2 +-
 19 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/src/data/common.tsx b/src/data/common.tsx
index 9ab32f5..81f0e94 100644
--- a/src/data/common.tsx
+++ b/src/data/common.tsx
@@ -35,7 +35,7 @@ export interface ResetButtonOptions extends ClickableOptions {
     canClick?: Computable<boolean>;
 }
 
-type ResetButton<T extends ResetButtonOptions> = Replace<
+export type ResetButton<T extends ResetButtonOptions> = Replace<
     Clickable<T>,
     {
         resetDescription: GetComputableTypeWithDefault<T["resetDescription"], Ref<string>>;
diff --git a/src/data/themes.ts b/src/data/themes.ts
index cf7e4c5..37b563f 100644
--- a/src/data/themes.ts
+++ b/src/data/themes.ts
@@ -1,4 +1,4 @@
-interface ThemeVars {
+export interface ThemeVars {
     "--foreground": string;
     "--background": string;
     "--feature-foreground": string;
diff --git a/src/features/achievements/achievement.tsx b/src/features/achievements/achievement.tsx
index cdfb855..c79d1ad 100644
--- a/src/features/achievements/achievement.tsx
+++ b/src/features/achievements/achievement.tsx
@@ -39,7 +39,7 @@ export interface AchievementOptions {
     onComplete?: VoidFunction;
 }
 
-interface BaseAchievement extends Persistent<boolean> {
+export interface BaseAchievement extends Persistent<boolean> {
     id: string;
     earned: Ref<boolean>;
     complete: VoidFunction;
diff --git a/src/features/bars/bar.ts b/src/features/bars/bar.ts
index 27a208e..36c3084 100644
--- a/src/features/bars/bar.ts
+++ b/src/features/bars/bar.ts
@@ -45,7 +45,7 @@ export interface BarOptions {
     mark?: Computable<boolean | string>;
 }
 
-interface BaseBar {
+export interface BaseBar {
     id: string;
     type: typeof BarType;
     [Component]: typeof BarComponent;
diff --git a/src/features/boards/board.ts b/src/features/boards/board.ts
index 60c53ea..3afcc87 100644
--- a/src/features/boards/board.ts
+++ b/src/features/boards/board.ts
@@ -167,7 +167,7 @@ export interface BoardOptions {
     types: Record<string, NodeTypeOptions>;
 }
 
-interface BaseBoard extends Persistent<BoardData> {
+export interface BaseBoard extends Persistent<BoardData> {
     id: string;
     links: Ref<BoardNodeLink[] | null>;
     nodes: Ref<BoardNode[]>;
diff --git a/src/features/buyable.tsx b/src/features/buyable.tsx
index 8f05e05..1ab8a83 100644
--- a/src/features/buyable.tsx
+++ b/src/features/buyable.tsx
@@ -26,7 +26,7 @@ import {
 
 export const BuyableType = Symbol("Buyable");
 
-type BuyableDisplay =
+export type BuyableDisplay =
     | CoercableComponent
     | {
           title?: CoercableComponent;
@@ -48,7 +48,7 @@ export interface BuyableOptions {
     onPurchase?: (cost: DecimalSource) => void;
 }
 
-interface BaseBuyable extends Persistent<DecimalSource> {
+export interface BaseBuyable extends Persistent<DecimalSource> {
     id: string;
     amount: Ref<DecimalSource>;
     maxed: Ref<boolean>;
diff --git a/src/features/challenges/challenge.tsx b/src/features/challenges/challenge.tsx
index 50350f0..6f760ee 100644
--- a/src/features/challenges/challenge.tsx
+++ b/src/features/challenges/challenge.tsx
@@ -55,7 +55,7 @@ export interface ChallengeOptions {
     onEnter?: VoidFunction;
 }
 
-interface BaseChallenge {
+export interface BaseChallenge {
     id: string;
     completions: PersistentRef<DecimalSource>;
     completed: Ref<boolean>;
diff --git a/src/features/clickables/clickable.ts b/src/features/clickables/clickable.ts
index 4106847..7747150 100644
--- a/src/features/clickables/clickable.ts
+++ b/src/features/clickables/clickable.ts
@@ -39,7 +39,7 @@ export interface ClickableOptions {
     onHold?: VoidFunction;
 }
 
-interface BaseClickable {
+export interface BaseClickable {
     id: string;
     type: typeof ClickableType;
     [Component]: typeof ClickableComponent;
diff --git a/src/features/conversion.ts b/src/features/conversion.ts
index cfa7ee5..ef0d0e7 100644
--- a/src/features/conversion.ts
+++ b/src/features/conversion.ts
@@ -23,7 +23,7 @@ export interface ConversionOptions {
     modifyGainAmount?: (gain: DecimalSource) => DecimalSource;
 }
 
-interface BaseConversion {
+export interface BaseConversion {
     convert: VoidFunction;
 }
 
diff --git a/src/features/hotkey.ts b/src/features/hotkey.ts
index 3206400..99b074f 100644
--- a/src/features/hotkey.ts
+++ b/src/features/hotkey.ts
@@ -22,7 +22,7 @@ export interface HotkeyOptions {
     onPress: VoidFunction;
 }
 
-interface BaseHotkey {
+export interface BaseHotkey {
     type: typeof HotkeyType;
 }
 
diff --git a/src/features/infoboxes/infobox.ts b/src/features/infoboxes/infobox.ts
index 6037e66..2d6b97c 100644
--- a/src/features/infoboxes/infobox.ts
+++ b/src/features/infoboxes/infobox.ts
@@ -33,7 +33,7 @@ export interface InfoboxOptions {
     display: Computable<CoercableComponent>;
 }
 
-interface BaseInfobox extends Persistent<boolean> {
+export interface BaseInfobox extends Persistent<boolean> {
     id: string;
     collapsed: Ref<boolean>;
     type: typeof InfoboxType;
diff --git a/src/features/milestones/milestone.tsx b/src/features/milestones/milestone.tsx
index a6c78c1..359b192 100644
--- a/src/features/milestones/milestone.tsx
+++ b/src/features/milestones/milestone.tsx
@@ -56,7 +56,7 @@ export interface MilestoneOptions {
     onComplete?: VoidFunction;
 }
 
-interface BaseMilestone extends Persistent<boolean> {
+export interface BaseMilestone extends Persistent<boolean> {
     id: string;
     earned: Ref<boolean>;
     type: typeof MilestoneType;
diff --git a/src/features/reset.ts b/src/features/reset.ts
index 08b19b3..bdf86cb 100644
--- a/src/features/reset.ts
+++ b/src/features/reset.ts
@@ -21,7 +21,7 @@ export interface ResetOptions {
     onReset?: VoidFunction;
 }
 
-interface BaseReset {
+export interface BaseReset {
     id: string;
     reset: VoidFunction;
     type: typeof ResetType;
diff --git a/src/features/tabs/tab.ts b/src/features/tabs/tab.ts
index b46063d..a5ffe38 100644
--- a/src/features/tabs/tab.ts
+++ b/src/features/tabs/tab.ts
@@ -18,7 +18,7 @@ export interface TabOptions {
     display: Computable<CoercableComponent>;
 }
 
-interface BaseTab {
+export interface BaseTab {
     id: string;
     type: typeof TabType;
     [Component]: typeof TabComponent;
diff --git a/src/features/tabs/tabFamily.ts b/src/features/tabs/tabFamily.ts
index 73390d7..321396c 100644
--- a/src/features/tabs/tabFamily.ts
+++ b/src/features/tabs/tabFamily.ts
@@ -34,7 +34,7 @@ export interface TabButtonOptions {
     glowColor?: Computable<string>;
 }
 
-interface BaseTabButton {
+export interface BaseTabButton {
     type: typeof TabButtonType;
     [Component]: typeof TabButtonComponent;
 }
@@ -65,7 +65,7 @@ export interface TabFamilyOptions {
     style?: Computable<StyleValue>;
 }
 
-interface BaseTabFamily extends Persistent<string> {
+export interface BaseTabFamily extends Persistent<string> {
     id: string;
     activeTab: Ref<GenericTab | CoercableComponent | null>;
     selected: Ref<string>;
diff --git a/src/features/trees/tree.ts b/src/features/trees/tree.ts
index 748673e..1a3743b 100644
--- a/src/features/trees/tree.ts
+++ b/src/features/trees/tree.ts
@@ -137,7 +137,7 @@ export interface TreeOptions {
     onReset?: (node: GenericTreeNode) => void;
 }
 
-interface BaseTree {
+export interface BaseTree {
     id: string;
     links: Ref<Link[]>;
     reset: (node: GenericTreeNode) => void;
diff --git a/src/features/upgrades/upgrade.ts b/src/features/upgrades/upgrade.ts
index e406c3c..096ca2c 100644
--- a/src/features/upgrades/upgrade.ts
+++ b/src/features/upgrades/upgrade.ts
@@ -46,7 +46,7 @@ export interface UpgradeOptions {
     onPurchase?: VoidFunction;
 }
 
-interface BaseUpgrade extends Persistent<boolean> {
+export interface BaseUpgrade extends Persistent<boolean> {
     id: string;
     bought: Ref<boolean>;
     canPurchase: Ref<boolean>;
diff --git a/src/util/computed.ts b/src/util/computed.ts
index 3643d8f..3becd66 100644
--- a/src/util/computed.ts
+++ b/src/util/computed.ts
@@ -15,9 +15,9 @@ export type GetComputableType<T> = T extends { [DoNotCache]: true }
 export type GetComputableTypeWithDefault<T, S> = undefined extends T
     ? S
     : GetComputableType<NonNullable<T>>;
-type UnwrapComputableType<T> = T extends Ref<infer S> ? S : T extends () => infer S ? S : T;
+export type UnwrapComputableType<T> = T extends Ref<infer S> ? S : T extends () => infer S ? S : T;
 
-type ComputableKeysOf<T> = Pick<
+export type ComputableKeysOf<T> = Pick<
     T,
     {
         [K in keyof T]: T[K] extends Computable<unknown> ? K : never;
diff --git a/src/util/vue.tsx b/src/util/vue.tsx
index 5fdd1c1..6bd8866 100644
--- a/src/util/vue.tsx
+++ b/src/util/vue.tsx
@@ -154,7 +154,7 @@ export function setRefValue<T>(ref: Ref<T | Ref<T>>, value: T) {
     }
 }
 
-type PropTypes =
+export type PropTypes =
     | typeof Boolean
     | typeof String
     | typeof Number