import type { ConditionType } from "sandstone/flow"; import { type _BaseConfig, type _InputCustomEventType, type _ScenarioEvents, type Roles, type Variables } from "./types"; export declare const DEFAULT_CHALLENGE_PATH = "kradle-studio/challenges"; export declare class ChallengeBase { private game_duration; private roles; private full_variables; private variablesPreviousValues; private _events; private _userInputCustomEvents; private _end_condition; private _win_conditions; private name; private kradle_challenge_path; private spawnPoint; private resolvedDefaults; constructor(config: _BaseConfig); private get variables(); /** * Build a CustomScoreEvent from an _InputScoreCustomEventType. * This will setup the tracking objective. * * @param event The input event to create the custom event from. * @param suffix A suffix that will be added to the variable's debug name, ensuring its uniqueness. */ private buildCustomScoreEvent; private addVariable; private getPreviousValueScore; events(events: (variables: Variables, roles: Roles) => _ScenarioEvents): Pick; /** * Returns the name of the variable based on its score. */ private getVariableName; /** * Returns the type of the variable (individual/global) based on its score. */ private getVariableType; custom_events(custom_events: (variables: Variables, roles: Roles) => _InputCustomEventType[]): Pick; end_condition(condition?: (variables: Variables, roles: Roles) => ConditionType): Pick; win_conditions(condition: (variables: Variables, roles: Roles) => Record): void; /** * Processes a custom score event by checking if the score has reached the target, * and if so, executes the actions associated with the event. * * @param event - The custom event to process. * @param mcFunctionReference - Optional reference to the parent MCFunction - used to give better naming to the children functions. */ private processCustomScoreEvent; /** * Builds the datapack based on the challenge configuration. */ private build; } /** * Creates a new challenge with the provided configuration. */ export declare function createChallenge(config: _BaseConfig): Pick, "events">; //# sourceMappingURL=challenge.d.ts.map