import{_ase,cast,oasl,Nasa}from"./chunks/framework.0799945b.js";constu=JSON.parse('{"title":"Module: features/challenges/challenge","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"api/modules/features/challenge.md","lastUpdated":null}'),o={name:"api/modules/features/challenge.md"},d=a('<h1id="module-features-challenges-challenge"tabindex="-1">Module:features/challenges/challenge<aclass="header-anchor"href="#module-features-challenges-challenge"aria-label="Permalink to "Module: features/challenges/challenge""></a></h1><h2id="interfaces"tabindex="-1">Interfaces<aclass="header-anchor"href="#interfaces"aria-label="Permalinkto"Interfaces""></a></h2><h3id="basechallenge"tabindex="-1">BaseChallenge<aclass="header-anchor"href="#basechallenge"aria-label="Permalinkto"BaseChallenge""></a></h3><p>•<strong>BaseChallenge</strong>:<code>Object</code></p><p>Thepropertiesthatareaddedontoaprocessed<ahref="./challenge#challengeoptions">ChallengeOptions</a>tocreatea<ahref="./challenge#challenge">Challenge</a>.</p><table><thead><tr><thstyle="text-align:left;">Name</th><thstyle="text-align:left;">Type</th><thstyle="text-align:left;">Description</th></tr></thead><tbody><tr><tdstyle="text-align:left;"><code>[Component]</code></td><tdstyle="text-align:left;"><ahref="./feature#genericcomponent"><code>GenericComponent</code></a></td><tdstyle="text-align:left;">TheVuecomponentusedtorenderthisfeature.</td></tr><tr><tdstyle="text-align:left;"><code>[GatherProps]</code></td><tdstyle="text-align:left;">()=><ahref="https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type"target="_blank"rel="noreferrer"><code>Record</code></a><<code>string</code>,<code>unknown</code>></td><tdstyle="text-align:left;">Afunctiontogatherthepropsthevuecomponentrequiresforthisfeature.</td></tr><tr><tdstyle="text-align:left;"><code>active</code></td><tdstyle="text-align:left;"><ahref="./../game/persistence#persistent"><code>Persistent</code></a><<code>boolean</code>></td><tdstyle="text-align:left;">Whetherornotthischallengeiscurrentlyactive.</td></tr><tr><tdstyle="text-align:left;"><code>canComplete</code></td><tdstyle="text-align:left;"><code>Ref</code><<ahref="./../lib/break_eternity#decimalsource"><code>DecimalSource</code></a>></td><tdstyle="text-align:left;">Thecurrentamountoftimesthischallengecanbecompleted.</td></tr><tr><tdstyle="text-align:left;"><code>complete</code></td><tdstyle="text-align:left;">(<code>remainInChallenge?</code>:<code>boolean</code>)=><code>void</code></td><tdstyle="text-align:left;">Afunctiontocompletethischallenge.</td></tr><tr><tdstyle="text-align:left;"><code>completed</code></td><tdstyle="text-align:left;"><code>Ref</code><<code>boolean</code>></td><tdstyle="text-align:left;">Whetherornotthischallengehasbeencompleted.</td></tr><tr><tdstyle="text-align:left;"><code>completions</code></td><tdstyle="text-align:left;"><ahref="./../game/persistence#persistent"><code>Persistent</code></a><<ahref="./../lib/break_eternity#decimalsource"><code>DecimalSource</code></a>></td><tdstyle="text-align:left;">Thecurrentnumberoftimesthischallengehasbeencompleted.</td></tr><tr><tdstyle="text-align:left;"><code>id</code></td><tdstyle="text-align:left;"><code>string</code></td><tdstyle="text-align:left;">Anauto-generatedIDforidentifyingfeaturesthatappearintheDOM.Willnotpersistbetweenrefreshesorupdates.</td></tr><tr><tdstyle="text-align:left;"><code>maxed</code></td><tdstyle="text-align:left;"><code>Ref</code><<code>boolean</code>></td><tdstyle="text-align:left;">Whetherornotthischallenge'scompletioncountisatitslimit.</td></tr><tr><tdstyle="text-align:left;"><code>toggle</code></td><tdstyle="text-align:left;"><code>VoidFunction</code></td><tdstyle="text-align:left;">Afunctiontoenterorleavethechallenge.</td></tr><tr><tdstyle="text-align:left;"><co