import { ICategory } from "../ICategory.js";
import { Option } from "../Option.js";
import { IGroupOptionOptions } from "./IGroupOptionOptions.js";
/**
 * Represents an option which controls the permission of a user-group.
 */
export declare class GroupOption extends Option {
    /**
     * The default value for groups which apply to registered users.
     */
    private userDefaultValue;
    /**
     * The default value for groups which have access to the moderation-section.
     */
    private modDefaultValue;
    /**
     * The default value for groups with administrator permissions.
     */
    private adminDefaultValue;
    /**
     * A value indicating whether the option only applies to groups for registered users.
     */
    private registeredOnly;
    /**
     * Initializes a new instance of the {@link GroupOption `GroupOption`} class.
     *
     * @param category
     * The category of the group-option.
     *
     * @param options
     * The options of the group-option.
     */
    constructor(category: ICategory, options: IGroupOptionOptions);
    /**
     * Gets or sets the default value for groups which apply to registered users.
     */
    get UserDefaultValue(): unknown;
    /**
     * @inheritdoc
     */
    set UserDefaultValue(value: unknown);
    /**
     * Gets or sets the default value for groups which have access to the moderation-section.
     */
    get ModDefaultValue(): unknown;
    /**
     * @inheritdoc
     */
    set ModDefaultValue(value: unknown);
    /**
     * Gets or sets the default value for groups with administrator permissions.
     */
    get AdminDefaultValue(): unknown;
    /**
     * @inheritdoc
     */
    set AdminDefaultValue(value: unknown);
    /**
     * Gets or sets a value indicating whether the option only applies to groups for registered users.
     */
    get RegisteredOnly(): boolean;
    /**
     * @inheritdoc
     */
    set RegisteredOnly(value: boolean);
}
