import { BitField } from './BitField'; export declare type ChannelPermissionsString = keyof typeof FLAGS['CHANNEL']; export declare type UserPermissionsString = keyof typeof FLAGS['USER']; export declare type ServerPermissionsString = keyof typeof FLAGS['SERVER']; export declare type ChannelPermissionsResolvable = number | ChannelPermissionsString | ChannelPermissions | ChannelPermissionsResolvable[]; export declare type UserPermissionsResolvable = number | UserPermissionsString | UserPermissions | UserPermissionsResolvable[]; export declare type ServerPermissionsResolvable = number | ServerPermissionsString | ServerPermissions | ServerPermissionsResolvable[]; export declare interface ServerPermissions { serialize(): Record; any(bit: ServerPermissionsResolvable): boolean; add(...bits: ServerPermissionsResolvable[]): this; remove(...bits: ServerPermissionsResolvable[]): this; has(bit: ServerPermissionsResolvable): boolean; } export declare interface ChannelPermissions { serialize(): Record; any(bit: ChannelPermissionsResolvable): boolean; add(...bits: ChannelPermissionsResolvable[]): this; remove(...bits: ChannelPermissionsResolvable[]): this; has(bit: ChannelPermissionsResolvable): boolean; } export declare interface UserPermissions { serialize(): Record; any(bit: UserPermissionsResolvable): boolean; add(...bits: UserPermissionsResolvable[]): this; remove(...bits: UserPermissionsResolvable[]): this; has(bit: UserPermissionsResolvable): boolean; } declare const FLAGS: { readonly CHANNEL: { readonly VIEW_CHANNEL: number; readonly SEND_MESSAGE: number; readonly MANAGE_MESSAGE: number; readonly MANAGE_CHANNEL: number; readonly VOICE_CALL: number; readonly INVITE_OTHERS: number; readonly EMBED_LINKS: number; readonly UPLOAD_FILES: number; }; readonly USER: { readonly ACCESS: number; readonly VIEW_PROFILE: number; readonly SEND_MESSAGES: number; readonly INVITE: number; }; readonly SERVER: { readonly VIEW_SERVER: number; readonly MANAGE_ROLES: number; readonly MANAGE_CHANNELS: number; readonly MANAGE_SERVER: number; readonly KICK_MEMBERS: number; readonly BAN_MEMBERS: number; readonly CHANGE_NICKNAME: number; readonly MANAGE_NICKNAMES: number; readonly CHANGE_AVATAR: number; readonly REMOVE_AVATARS: number; }; }; export declare class ChannelPermissions extends BitField { static FLAGS: typeof FLAGS['CHANNEL']; constructor(bits?: ChannelPermissionsResolvable); static resolve(bit: ChannelPermissionsResolvable): number; } export declare class UserPermissions extends BitField { static FLAGS: typeof FLAGS['USER']; constructor(bits?: UserPermissionsResolvable); static resolve(bit: UserPermissionsResolvable): number; } export declare class ServerPermissions extends BitField { static FLAGS: typeof FLAGS['SERVER']; constructor(bits?: ServerPermissionsResolvable); static resolve(bit: ServerPermissionsResolvable): number; } export declare const DEFAULT_PERMISSION_DM: Readonly; export {};