import type { Message } from "discord.js"; import { z } from "zod"; import { SyncOrAsync } from "../../typings/Util.js"; import type { AkairoMessage } from "../../util/AkairoMessage.js"; import { AkairoModule, AkairoModuleOptions } from "../AkairoModule.js"; import type { Command } from "../commands/Command.js"; import type { InhibitorHandler } from "./InhibitorHandler.js"; export declare abstract class Inhibitor extends AkairoModule { priority: number; reason: string; type: string; constructor(id: string, options?: InhibitorOptions); abstract exec(message: Message, command?: Command): SyncOrAsync; abstract exec(message: Message | AkairoMessage, command?: Command): SyncOrAsync; } export type InhibitorOptions = AkairoModuleOptions & { reason?: string; type?: "all" | "pre" | "post"; priority?: number; }; export declare const InhibitorOptions: z.ZodObject<{ category: z.ZodOptional; reason: z.ZodOptional; type: z.ZodOptional>; priority: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ category: z.ZodOptional; reason: z.ZodOptional; type: z.ZodOptional>; priority: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ category: z.ZodOptional; reason: z.ZodOptional; type: z.ZodOptional>; priority: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; //# sourceMappingURL=Inhibitor.d.ts.map