import { z } from "zod";
/**
 * Schema validation for messaging operations
 */
export declare const SendMessageArgsSchema: z.ZodEffects<z.ZodObject<{
    channel: z.ZodString;
    text: z.ZodOptional<z.ZodString>;
    embed: z.ZodOptional<z.ZodObject<{
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        color: z.ZodOptional<z.ZodNumber>;
        fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            value: z.ZodString;
            inline: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }, {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }>, "many">>;
        footer: z.ZodOptional<z.ZodObject<{
            text: z.ZodString;
            iconUrl: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            text: string;
            iconUrl?: string | undefined;
        }, {
            text: string;
            iconUrl?: string | undefined;
        }>>;
        timestamp: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
        fields?: {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }[] | undefined;
        footer?: {
            text: string;
            iconUrl?: string | undefined;
        } | undefined;
        timestamp?: boolean | undefined;
    }, {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
        fields?: {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }[] | undefined;
        footer?: {
            text: string;
            iconUrl?: string | undefined;
        } | undefined;
        timestamp?: boolean | undefined;
    }>>;
    replyTo: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    channel: string;
    text?: string | undefined;
    embed?: {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
        fields?: {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }[] | undefined;
        footer?: {
            text: string;
            iconUrl?: string | undefined;
        } | undefined;
        timestamp?: boolean | undefined;
    } | undefined;
    replyTo?: string | undefined;
}, {
    channel: string;
    text?: string | undefined;
    embed?: {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
        fields?: {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }[] | undefined;
        footer?: {
            text: string;
            iconUrl?: string | undefined;
        } | undefined;
        timestamp?: boolean | undefined;
    } | undefined;
    replyTo?: string | undefined;
}>, {
    channel: string;
    text?: string | undefined;
    embed?: {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
        fields?: {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }[] | undefined;
        footer?: {
            text: string;
            iconUrl?: string | undefined;
        } | undefined;
        timestamp?: boolean | undefined;
    } | undefined;
    replyTo?: string | undefined;
}, {
    channel: string;
    text?: string | undefined;
    embed?: {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
        fields?: {
            name: string;
            value: string;
            inline?: boolean | undefined;
        }[] | undefined;
        footer?: {
            text: string;
            iconUrl?: string | undefined;
        } | undefined;
        timestamp?: boolean | undefined;
    } | undefined;
    replyTo?: string | undefined;
}>;
export declare const EditMessageArgsSchema: z.ZodObject<{
    channel: z.ZodString;
    messageId: z.ZodString;
    text: z.ZodOptional<z.ZodString>;
    embed: z.ZodOptional<z.ZodObject<{
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        color: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
    }, {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    channel: string;
    messageId: string;
    text?: string | undefined;
    embed?: {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
    } | undefined;
}, {
    channel: string;
    messageId: string;
    text?: string | undefined;
    embed?: {
        title?: string | undefined;
        description?: string | undefined;
        color?: number | undefined;
    } | undefined;
}>;
export declare const DeleteMessageArgsSchema: z.ZodObject<{
    channel: z.ZodString;
    messageId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    channel: string;
    messageId: string;
}, {
    channel: string;
    messageId: string;
}>;
export declare const AddReactionArgsSchema: z.ZodObject<{
    channel: z.ZodString;
    messageId: z.ZodString;
    emoji: z.ZodString;
}, "strip", z.ZodTypeAny, {
    channel: string;
    messageId: string;
    emoji: string;
}, {
    channel: string;
    messageId: string;
    emoji: string;
}>;
export declare const GetChannelHistoryArgsSchema: z.ZodObject<{
    channel: z.ZodString;
    limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    before: z.ZodOptional<z.ZodString>;
    after: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    channel: string;
    limit: number;
    before?: string | undefined;
    after?: string | undefined;
}, {
    channel: string;
    limit?: number | undefined;
    before?: string | undefined;
    after?: string | undefined;
}>;
export declare const BulkDeleteMessagesArgsSchema: z.ZodObject<{
    channelId: z.ZodString;
    count: z.ZodNumber;
    reason: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    channelId: string;
    count: number;
    reason?: string | undefined;
}, {
    channelId: string;
    count: number;
    reason?: string | undefined;
}>;
export type SendMessageArgs = z.infer<typeof SendMessageArgsSchema>;
export type EditMessageArgs = z.infer<typeof EditMessageArgsSchema>;
export type DeleteMessageArgs = z.infer<typeof DeleteMessageArgsSchema>;
export type AddReactionArgs = z.infer<typeof AddReactionArgsSchema>;
export type GetChannelHistoryArgs = z.infer<typeof GetChannelHistoryArgsSchema>;
export type BulkDeleteMessagesArgs = z.infer<typeof BulkDeleteMessagesArgsSchema>;
//# sourceMappingURL=messaging.d.ts.map