import { AppObject, AppObjectEntity, AppObjectRepo } from "@vived/core";
export interface Challenge {
    challengeID: string;
    name: string;
    helpHeading: string;
    consumerHelpText: string;
    authorHelpText: string;
    reset: () => void;
}
export declare abstract class ChallengeEntity extends AppObjectEntity {
    static type: string;
    abstract registerChallenge(challenge: Challenge): void;
    abstract get selectedChallenge(): string;
    abstract set selectedChallenge(id: string);
    abstract get allChallenges(): Challenge[];
    abstract get selectedChallengeHeading(): string;
    abstract get selectedChallengeName(): string;
    abstract get selectedChallengeConsumerHelp(): string;
    abstract get selectedChallengeAuthorHelp(): string;
    abstract resetSelectedChallenge(): void;
    static get(appObjects: AppObjectRepo): ChallengeEntity | undefined;
}
export declare function makeChallengeEntity(appObject: AppObject): ChallengeEntity;
//# sourceMappingURL=ChallengeEntity.d.ts.map