import * as pulumi from "@pulumi/pulumi"; /** * A hint for a challenge to help players solve it. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ctfd from "@ctfer-io/pulumi-ctfd"; * * const http = new ctfd.ChallengeDynamic("http", { * category: "misc", * description: "...", * value: 500, * decay: 100, * minimum: 50, * state: "visible", * "function": "logarithmic", * topics: ["Misc"], * tags: [ * "misc", * "basic", * ], * }); * const httpFlag = new ctfd.Flag("httpFlag", { * challengeId: http.id, * content: "CTF{some_flag}", * }); * const httpHint = new ctfd.Hint("httpHint", { * challengeId: http.id, * content: "Some super-helpful hint", * cost: 50, * }); * const httpHint2 = new ctfd.Hint("httpHint2", { * challengeId: http.id, * content: "Even more helpful hint !", * cost: 50, * requirements: [ctfd_hint.http_hint_1.id], * }); * ``` */ export declare class Hint extends pulumi.CustomResource { /** * Get an existing Hint resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: HintState, opts?: pulumi.CustomResourceOptions): Hint; /** * Returns true if the given object is an instance of Hint. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Hint; /** * Challenge of the hint. */ readonly challengeId: pulumi.Output; /** * Content of the hint as displayed to the end-user. */ readonly content: pulumi.Output; /** * Cost of the hint, and if any specified, the end-user will consume its own (or team) points to get it. */ readonly cost: pulumi.Output; /** * List of the other hints it depends on. */ readonly requirements: pulumi.Output; /** * Title of the hint, displayed to end users before unlocking. */ readonly title: pulumi.Output; /** * Create a Hint resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: HintArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Hint resources. */ export interface HintState { /** * Challenge of the hint. */ challengeId?: pulumi.Input; /** * Content of the hint as displayed to the end-user. */ content?: pulumi.Input; /** * Cost of the hint, and if any specified, the end-user will consume its own (or team) points to get it. */ cost?: pulumi.Input; /** * List of the other hints it depends on. */ requirements?: pulumi.Input[]>; /** * Title of the hint, displayed to end users before unlocking. */ title?: pulumi.Input; } /** * The set of arguments for constructing a Hint resource. */ export interface HintArgs { /** * Challenge of the hint. */ challengeId: pulumi.Input; /** * Content of the hint as displayed to the end-user. */ content: pulumi.Input; /** * Cost of the hint, and if any specified, the end-user will consume its own (or team) points to get it. */ cost?: pulumi.Input; /** * List of the other hints it depends on. */ requirements?: pulumi.Input[]>; /** * Title of the hint, displayed to end users before unlocking. */ title?: pulumi.Input; }