import { ICategory } from "../ICategory";
import { Option } from "../Option";
import { EditPermission } from "./EditPermission";
import { IUserOptionOptions } from "./IUserOptionOptions";
import { ViewPermission } from "./ViewPermission";
/**
 * Represents an option for users.
 */
export declare class UserOption extends Option {
    /**
     * A value indicating whether the option is required.
     */
    private required;
    /**
     * A value indicating whether users are ask for setting the option during registration.
     */
    private askOnRegistration;
    /**
     * The permissions which are required for editing the option.
     */
    private editPermissions;
    /**
     * The permissions which are required for viewing the option.
     */
    private viewPermissions;
    /**
     * A value indicating whether users can be searched by the value of the option.
     */
    private searchable;
    /**
     * The php-class which formats the output of the option.
     *
     * The class must implement the `wcf\system\option\user\IUserOptionOutput` interface.
     */
    private outputClass;
    /**
     * Initializes a new instance of the `UserOption` class.
     */
    constructor(category: ICategory, options: IUserOptionOptions);
    /**
     * Gets or sets a value indicating whether the option is required.
     */
    Required: boolean;
    /**
     * Gets or sets a value indicating whether users are ask for setting the option during registration.
     */
    AskOnRegistration: boolean;
    /**
     * Gets or sets the permissions which are required for editing the option.
     */
    EditPermissions: EditPermission;
    /**
     * Gets or sets the permissions which are required for viewing the option.
     */
    ViewPermissions: ViewPermission;
    /**
     * Gets or sets a value indicating whether users can be searched by the value of the option.
     */
    Searchable: boolean;
    /**
     * Gets or sets the php-class which formats the output of the option.
     *
     * The class must implement the `wcf\system\option\user\IUserOptionOutput` interface.
     */
    OutputClass: string;
}
