import type { ReturnCache } from '../cache'; import type { AutoModerationRuleStructure, GuildMemberStructure, GuildStructure } from '../client'; import type { UsingClient } from '../commands'; import type { MethodContext, ObjectToLower } from '../common'; import type { APIAutoModerationRule, RESTPatchAPIAutoModerationRuleJSONBody, RESTPostAPIAutoModerationRuleJSONBody } from '../types'; import { DiscordBase } from './extra/DiscordBase'; export interface AutoModerationRule extends ObjectToLower { } export declare class AutoModerationRule extends DiscordBase { constructor(client: UsingClient, data: APIAutoModerationRule); fetchCreator(force?: boolean): Promise; guild(mode?: 'rest' | 'flow'): Promise>; guild(mode: 'cache'): ReturnCache | undefined>; fetch(): Promise; edit(body: RESTPatchAPIAutoModerationRuleJSONBody, reason?: string): Promise; delete(reason?: string): Promise; static methods({ client, guildId }: MethodContext<{ guildId: string; }>): { list: () => Promise; create: (body: RESTPostAPIAutoModerationRuleJSONBody) => Promise; delete: (ruleId: string, reason?: string) => Promise; fetch: (ruleId: string) => Promise; edit: (ruleId: string, body: RESTPatchAPIAutoModerationRuleJSONBody, reason?: string) => Promise; }; }