import { Doaction, DolistItem } from './Dolist'; import { DurationLike } from 'luxon'; export declare enum AccessKey { God = "God", ForwardFromAnother = "ForwardFromAnother", Wtt = "Wtt", Swear = "Swear", Drug = "Drug", Spam = "Spam", StopEmoji = "StopEmoji", StopFull = "StopFull", MentionAnotherGroups = "MentionAnotherGroups", Avito = "Avito", Realty = "Realty", Ads = "Ads", WarningEmoji = "WarningEmoji", Works = "Works", FlyBox = "FlyBox", StopNicks = "StopNicks", CloackPoints = "CloackPoints", CloackWords = "CloackWords", DanceWords = "DanceWords", NotRunEng = "NotRunEng", HashTags = "HashTags", Triplers = "Triplers", MultiplePhotos = "MultiplePhotos", SinglePhotoWoText = "SinglePhotoWoText", SinglePhotoWoTextFirstMessage = "SinglePhotoWoTextFirstMessage", Link = "Link", Mention = "Mention", Limit = "Limit", Custom = "Custom", Unknown = "Unknown" } export declare class AccessSettings { allow: boolean; actions: Doaction[]; message?: string; limit?: number; limitOpts?: TDolimits; duration?: DurationLike; exclude?: DolistItem[]; include?: DolistItem[]; } export declare class WhiteUser { userId?: number; username?: string; accessKeys?: AccessKey[]; } export type TAccessList = { [accessKey: string]: AccessSettings; }; export type TDolimits = { messageText?: { max: number; actions: Doaction[]; }; }; export declare class GroupSettings { groupId?: number; groupName?: string; shortDescr?: string; rulesLink?: string; adminIds?: number[]; access?: TAccessList; allows?: DolistItem[]; disallows?: DolistItem[]; whiteUsers?: WhiteUser[]; } export declare class Dogroups { static getDefaultAccessSettings(): { God: { allow: boolean; actions: never[]; }; Swear: { allow: boolean; actions: Doaction[]; }; Drug: { allow: boolean; actions: Doaction[]; }; ForwardFromAnother: { allow: boolean; actions: Doaction[]; }; Spam: { allow: boolean; actions: Doaction[]; }; StopFull: { allow: boolean; actions: Doaction[]; duration: { minutes: number; }; }; Wtt: { allow: boolean; actions: Doaction[]; }; Realty: { allow: boolean; actions: Doaction[]; }; Ads: { allow: boolean; actions: Doaction[]; }; Works: { allow: boolean; actions: Doaction[]; }; MultiplePhotos: { allow: boolean; actions: Doaction[]; }; SinglePhotoWoText: { allow: boolean; actions: Doaction[]; }; SinglePhotoWoTextFirstMessage: { allow: boolean; actions: Doaction[]; }; CloackWords: { allow: boolean; limit: number; actions: Doaction[]; duration: { minutes: number; }; }; DanceWords: { allow: boolean; limit: number; actions: Doaction[]; }; CloackPoints: { allow: boolean; limit: number; actions: Doaction[]; }; NotRunEng: { allow: boolean; limit: number; actions: Doaction[]; }; HashTags: { allow: boolean; limit: number; actions: Doaction[]; }; Triplers: { allow: boolean; limit: number; actions: Doaction[]; }; StopEmoji: { allow: boolean; actions: Doaction[]; }; StopNicks: { allow: boolean; actions: Doaction[]; }; WarningEmoji: { allow: boolean; actions: Doaction[]; }; MentionAnotherGroups: { allow: boolean; actions: Doaction[]; }; FlyBox: { allow: boolean; actions: Doaction[]; }; Avito: { allow: boolean; actions: Doaction[]; }; Link: { allow: boolean; actions: Doaction[]; }; Mention: { allow: boolean; actions: Doaction[]; }; Limit: { allow: boolean; actions: never[]; }; Custom: { allow: boolean; actions: Doaction[]; }; Unknown: { allow: boolean; actions: Doaction[]; }; }; static loadGroupSettings({ chatName }: { chatName: string; }): Promise<{ groupName: string | undefined; groupId?: number | undefined; shortDescr?: string | undefined; rulesLink?: string | undefined; adminIds?: number[] | undefined; access?: TAccessList | undefined; allows?: DolistItem[] | undefined; disallows?: DolistItem[] | undefined; whiteUsers?: WhiteUser[] | undefined; } | undefined>; }