import { PermissionNames } from '../constants/permissions'; /** * Represents a calculated permissions number * @param {string[]} [permissions] The permissions to calculate * @see {@link PermissionFlags} */ declare class Permission { #private; constructor(permissions?: PermissionNames[]); /** * Check if this permission allows a specific permission * @param {string} permission - The name of the permission. [A full list of permission nodes can be found here]{@link Permissions#FLAGS} * @returns {boolean} */ has(permission: PermissionNames): boolean; /** * Add a permission to the list * @param {string} - The name of the permission. [A full list of permission nodes can be found here]{@link Permissions#FLAGS} */ add(permission: PermissionNames): void; /** * Remove a permission from the list * @param {string} - The name of the permission. [A full list of permission nodes can be found here]{@link Permissions#FLAGS} */ remove(permission: PermissionNames): void; /** * Returns all permissions this instance has * @returns {string[]} */ toArray(): PermissionNames[]; /** * Returns all permissions this instance has * @returns {string} */ toString(): string; /** * Numeric permission flags * @type {PermissionFlags} */ static get FLAGS(): Record; /** * Parse the current permissions into permissions bitfield. * @returns {bigint} */ get bitfield(): bigint; parseBitfield(bitfield: bigint | number): this; } export { Permission }; //# sourceMappingURL=Permission.d.ts.map