import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSImage } from "../AppKit/NSImage.js";
import type { _GKLeaderboard } from "./GKLeaderboard.js";
import type { GKReleaseState } from "./GKReleaseState.js";
export declare class _GKChallengeDefinition extends _NSObject {
    static alloc(): _GKChallengeDefinition;
    static new(): _GKChallengeDefinition;
    init(): _GKChallengeDefinition;
    /**
     * Loads all the challenge definitions for the current game, returns an empty array if none exist. - Important: Archived challenge definitions are excluded.
     */
    static loadChallengeDefinitionsWithCompletionHandler$(completionHandler: ((challengeDefinitions: _NSArray, error: _NSError) => void) | null): void;
    /**
     * Loads the image set on the challenge definition, which may be `nil` if none was set.
     */
    loadImageWithCompletionHandler$(completionHandler: ((_result: _NSImage, error: _NSError) => void) | null): void;
    /** Indicates if this definition has active challenges associated with it. */
    hasActiveChallengesWithCompletionHandler$(completionHandler: ((hasActiveChallenges: boolean, error: _NSError) => void) | null): void;
    /** The developer defined identifier for a given challenge definition. */
    identifier(): _NSString;
    /** The group identifier for the challenge definition, if one exists. */
    groupIdentifier(): _NSString | null;
    /** A short title for the challenge definition. */
    title(): _NSString;
    /** A more detailed description of the challenge definition. */
    details(): _NSString | null;
    /**
     * The duration options for the challenge, like `1 day` or `1 week`. - Note: If set, the amount of weeks is stored in the `weekOfYear` field. - Important: The actual duration of the challenge may be dynamically adjusted in order to accommodate different factors like players' timezones.
     */
    durationOptions(): _NSArray;
    /** Indicates if a challenge can be attempted more than once. */
    isRepeatable(): boolean;
    /**
     * Scores submitted to this leaderboard will also be submitted as scores in this challenge.
     */
    leaderboard(): _GKLeaderboard | null;
    /** The release state of the challenge definition in App Store Connect. */
    releaseState(): GKReleaseState;
}
