import type { MessageCreateOptions } from 'discord.js'; import { z } from 'zod'; export declare namespace Discord { type ChannelAttrs = SubscriberChannelDict['discord']; const QUICK_REPLY_CUSTOM_ID_PREFIX = "hexabot:qr:"; const POSTBACK_CUSTOM_ID_PREFIX = "hexabot:pb:"; const attachmentSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodOptional; title: z.ZodOptional; url: z.ZodString; proxyUrl: z.ZodOptional; size: z.ZodOptional; contentType: z.ZodOptional>; }, z.core.$loose>; type Attachment = z.infer; const messagePayloadSchema: z.ZodObject<{ kind: z.ZodLiteral<"message">; id: z.ZodString; content: z.ZodDefault; createdTimestamp: z.ZodOptional; author: z.ZodObject<{ id: z.ZodString; username: z.ZodOptional; displayName: z.ZodOptional; bot: z.ZodDefault; avatarUrl: z.ZodOptional>; }, z.core.$loose>; channel: z.ZodObject<{ id: z.ZodString; type: z.ZodString; name: z.ZodOptional; }, z.core.$loose>; guild: z.ZodOptional; iconUrl: z.ZodOptional>; }, z.core.$loose>>>; mentionsBot: z.ZodDefault; attachments: z.ZodDefault; title: z.ZodOptional; url: z.ZodString; proxyUrl: z.ZodOptional; size: z.ZodOptional; contentType: z.ZodOptional>; }, z.core.$loose>>>; }, z.core.$loose>; type MessagePayload = z.infer; const buttonPayloadSchema: z.ZodObject<{ kind: z.ZodLiteral<"button">; id: z.ZodString; customId: z.ZodString; label: z.ZodOptional; createdTimestamp: z.ZodOptional; user: z.ZodObject<{ id: z.ZodString; username: z.ZodOptional; displayName: z.ZodOptional; bot: z.ZodDefault; avatarUrl: z.ZodOptional>; }, z.core.$loose>; channel: z.ZodObject<{ id: z.ZodString; type: z.ZodString; name: z.ZodOptional; }, z.core.$loose>; guild: z.ZodOptional; iconUrl: z.ZodOptional>; }, z.core.$loose>>>; messageId: z.ZodOptional; }, z.core.$loose>; type ButtonPayload = z.infer; const incomingPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"message">; id: z.ZodString; content: z.ZodDefault; createdTimestamp: z.ZodOptional; author: z.ZodObject<{ id: z.ZodString; username: z.ZodOptional; displayName: z.ZodOptional; bot: z.ZodDefault; avatarUrl: z.ZodOptional>; }, z.core.$loose>; channel: z.ZodObject<{ id: z.ZodString; type: z.ZodString; name: z.ZodOptional; }, z.core.$loose>; guild: z.ZodOptional; iconUrl: z.ZodOptional>; }, z.core.$loose>>>; mentionsBot: z.ZodDefault; attachments: z.ZodDefault; title: z.ZodOptional; url: z.ZodString; proxyUrl: z.ZodOptional; size: z.ZodOptional; contentType: z.ZodOptional>; }, z.core.$loose>>>; }, z.core.$loose>, z.ZodObject<{ kind: z.ZodLiteral<"button">; id: z.ZodString; customId: z.ZodString; label: z.ZodOptional; createdTimestamp: z.ZodOptional; user: z.ZodObject<{ id: z.ZodString; username: z.ZodOptional; displayName: z.ZodOptional; bot: z.ZodDefault; avatarUrl: z.ZodOptional>; }, z.core.$loose>; channel: z.ZodObject<{ id: z.ZodString; type: z.ZodString; name: z.ZodOptional; }, z.core.$loose>; guild: z.ZodOptional; iconUrl: z.ZodOptional>; }, z.core.$loose>>>; messageId: z.ZodOptional; }, z.core.$loose>], "kind">; type IncomingPayload = z.infer; type ComponentPayload = { kind: 'quickReply'; payload: string; } | { kind: 'postback'; payload: string; }; type Outbound = MessageCreateOptions | MessageCreateOptions[]; } //# sourceMappingURL=types.d.ts.map