import { z } from "zod";
export declare const CreateDirectMessageRequest: z.ZodObject<{
    otherUserId: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    otherUserId: number;
}, {
    otherUserId: number;
}>;
export declare const CreateGroupDirectMessageRequest: z.ZodObject<{
    memberUserIds: z.ZodArray<z.ZodNumber, "many">;
}, "strip", z.ZodTypeAny, {
    memberUserIds: number[];
}, {
    memberUserIds: number[];
}>;
export declare const UpdateChannelRequest: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    topic: z.ZodOptional<z.ZodString>;
    purpose: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name?: string | undefined;
    topic?: string | undefined;
    purpose?: string | undefined;
}, {
    name?: string | undefined;
    topic?: string | undefined;
    purpose?: string | undefined;
}>;
export declare const ArchiveChannelRequest: z.ZodObject<{
    archived: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    archived: boolean;
}, {
    archived: boolean;
}>;
/**
 * Per-user, per-room notification setting — stored on channel_members, so two
 * people in the same room can (and usually do) hold different values. `all`
 * notifies on every message, `mentions` only when you're named, `none` never.
 * Muting is orthogonal: it silences the badge/highlight in the sidebar without
 * changing which messages would otherwise notify.
 */
export declare const ChannelNotifPref: z.ZodEnum<["all", "mentions", "none"]>;
export type ChannelNotifPref = z.infer<typeof ChannelNotifPref>;
export declare const UpdateChannelPrefsRequest: z.ZodEffects<z.ZodObject<{
    notifPref: z.ZodOptional<z.ZodEnum<["all", "mentions", "none"]>>;
    isMuted: z.ZodOptional<z.ZodBoolean>;
    isStarred: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    isMuted?: boolean | undefined;
    isStarred?: boolean | undefined;
    notifPref?: "all" | "mentions" | "none" | undefined;
}, {
    isMuted?: boolean | undefined;
    isStarred?: boolean | undefined;
    notifPref?: "all" | "mentions" | "none" | undefined;
}>, {
    isMuted?: boolean | undefined;
    isStarred?: boolean | undefined;
    notifPref?: "all" | "mentions" | "none" | undefined;
}, {
    isMuted?: boolean | undefined;
    isStarred?: boolean | undefined;
    notifPref?: "all" | "mentions" | "none" | undefined;
}>;
export type UpdateChannelPrefsRequest = z.infer<typeof UpdateChannelPrefsRequest>;
/**
 * The apps a room can link. A closed list rather than free text: the About
 * panel renders a known badge per provider, and an unbounded string would
 * make that a rendering guess. `custom` is the escape hatch — it carries its
 * own label.
 */
export declare const IntegrationProvider: z.ZodEnum<["salesforce", "hubspot", "github", "jira", "linear", "notion", "zoom", "google_drive", "custom"]>;
export type IntegrationProvider = z.infer<typeof IntegrationProvider>;
export declare const AddChannelIntegrationRequest: z.ZodObject<{
    provider: z.ZodEnum<["salesforce", "hubspot", "github", "jira", "linear", "notion", "zoom", "google_drive", "custom"]>;
    label: z.ZodOptional<z.ZodString>;
    externalUrl: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    provider: "custom" | "salesforce" | "hubspot" | "github" | "jira" | "linear" | "notion" | "zoom" | "google_drive";
    label?: string | undefined;
    externalUrl?: string | undefined;
}, {
    provider: "custom" | "salesforce" | "hubspot" | "github" | "jira" | "linear" | "notion" | "zoom" | "google_drive";
    label?: string | undefined;
    externalUrl?: string | undefined;
}>;
export type AddChannelIntegrationRequest = z.infer<typeof AddChannelIntegrationRequest>;
export declare const AddChannelMembersRequest: z.ZodObject<{
    userIds: z.ZodArray<z.ZodNumber, "many">;
}, "strip", z.ZodTypeAny, {
    userIds: number[];
}, {
    userIds: number[];
}>;
export type AddChannelMembersRequest = z.infer<typeof AddChannelMembersRequest>;
export declare const SetDirectMessageClosedRequest: z.ZodObject<{
    closed: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    closed: boolean;
}, {
    closed: boolean;
}>;
export type SetDirectMessageClosedRequest = z.infer<typeof SetDirectMessageClosedRequest>;
export declare const ConvertGroupDirectMessageRequest: z.ZodObject<{
    name: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name: string;
}, {
    name: string;
}>;
export type ConvertGroupDirectMessageRequest = z.infer<typeof ConvertGroupDirectMessageRequest>;
export declare const EditMessageRequest: z.ZodObject<{
    text: z.ZodString;
    blocks: z.ZodOptional<z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    text: string;
    blocks?: unknown;
}, {
    text: string;
    blocks?: unknown;
}>;
export declare const ForwardMessageRequest: z.ZodObject<{
    destinations: z.ZodEffects<z.ZodArray<z.ZodObject<{
        channelId: z.ZodNumber;
        clientMsgId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        channelId: number;
        clientMsgId: string;
    }, {
        channelId: number;
        clientMsgId: string;
    }>, "many">, {
        channelId: number;
        clientMsgId: string;
    }[], {
        channelId: number;
        clientMsgId: string;
    }[]>;
    note: z.ZodDefault<z.ZodOptional<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    destinations: {
        channelId: number;
        clientMsgId: string;
    }[];
    note: string;
}, {
    destinations: {
        channelId: number;
        clientMsgId: string;
    }[];
    note?: string | undefined;
}>;
export type ForwardMessageRequest = z.infer<typeof ForwardMessageRequest>;
export declare const SetReactionRequest: z.ZodObject<{
    emoji: z.ZodString;
}, "strip", z.ZodTypeAny, {
    emoji: string;
}, {
    emoji: string;
}>;
export declare const MarkChannelReadRequest: z.ZodObject<{
    seq: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    seq: number;
}, {
    seq: number;
}>;
export declare const MarkThreadReadRequest: z.ZodObject<{
    seq: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    seq: number;
}, {
    seq: number;
}>;
export declare const SetThreadFollowingRequest: z.ZodObject<{
    following: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    following: boolean;
}, {
    following: boolean;
}>;
export declare const UpsertDraftRequest: z.ZodObject<{
    channelId: z.ZodNumber;
    threadRootMessageId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    text: z.ZodString;
    blocks: z.ZodOptional<z.ZodDiscriminatedUnion<"v", [z.ZodObject<{
        v: z.ZodLiteral<1>;
        doc: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        forwardedMessage: z.ZodOptional<z.ZodObject<{
            messageId: z.ZodNumber;
            channelId: z.ZodNumber;
            parentId: z.ZodNullable<z.ZodNumber>;
            channelName: z.ZodNullable<z.ZodString>;
            channelType: z.ZodEnum<["public", "private", "dm", "group_dm"]>;
            authorId: z.ZodNumber;
            authorName: z.ZodString;
            authorAvatarUrl: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodString]>>;
            text: z.ZodString;
            createdAt: z.ZodString;
            attachmentNames: z.ZodArray<z.ZodString, "many">;
        }, "strip", z.ZodTypeAny, {
            createdAt: string;
            messageId: number;
            channelId: number;
            parentId: number | null;
            channelName: string | null;
            channelType: "public" | "private" | "dm" | "group_dm";
            authorId: number;
            authorName: string;
            authorAvatarUrl: string | null;
            text: string;
            attachmentNames: string[];
        }, {
            createdAt: string;
            messageId: number;
            channelId: number;
            parentId: number | null;
            channelName: string | null;
            channelType: "public" | "private" | "dm" | "group_dm";
            authorId: number;
            authorName: string;
            authorAvatarUrl: string | null;
            text: string;
            attachmentNames: string[];
        }>>;
    }, "strip", z.ZodTypeAny, {
        v: 1;
        doc: Record<string, unknown>;
        forwardedMessage?: {
            createdAt: string;
            messageId: number;
            channelId: number;
            parentId: number | null;
            channelName: string | null;
            channelType: "public" | "private" | "dm" | "group_dm";
            authorId: number;
            authorName: string;
            authorAvatarUrl: string | null;
            text: string;
            attachmentNames: string[];
        } | undefined;
    }, {
        v: 1;
        doc: Record<string, unknown>;
        forwardedMessage?: {
            createdAt: string;
            messageId: number;
            channelId: number;
            parentId: number | null;
            channelName: string | null;
            channelType: "public" | "private" | "dm" | "group_dm";
            authorId: number;
            authorName: string;
            authorAvatarUrl: string | null;
            text: string;
            attachmentNames: string[];
        } | undefined;
    }>]>>;
}, "strip", z.ZodTypeAny, {
    channelId: number;
    text: string;
    blocks?: {
        v: 1;
        doc: Record<string, unknown>;
        forwardedMessage?: {
            createdAt: string;
            messageId: number;
            channelId: number;
            parentId: number | null;
            channelName: string | null;
            channelType: "public" | "private" | "dm" | "group_dm";
            authorId: number;
            authorName: string;
            authorAvatarUrl: string | null;
            text: string;
            attachmentNames: string[];
        } | undefined;
    } | undefined;
    threadRootMessageId?: number | null | undefined;
}, {
    channelId: number;
    text: string;
    blocks?: {
        v: 1;
        doc: Record<string, unknown>;
        forwardedMessage?: {
            createdAt: string;
            messageId: number;
            channelId: number;
            parentId: number | null;
            channelName: string | null;
            channelType: "public" | "private" | "dm" | "group_dm";
            authorId: number;
            authorName: string;
            authorAvatarUrl: string | null;
            text: string;
            attachmentNames: string[];
        } | undefined;
    } | undefined;
    threadRootMessageId?: number | null | undefined;
}>;
export type UpsertDraftRequest = z.infer<typeof UpsertDraftRequest>;
export declare const DeleteDraftRequest: z.ZodObject<{
    channelId: z.ZodNumber;
    threadRootMessageId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    channelId: number;
    threadRootMessageId?: number | null | undefined;
}, {
    channelId: number;
    threadRootMessageId?: number | null | undefined;
}>;
export type DeleteDraftRequest = z.infer<typeof DeleteDraftRequest>;
export declare const UpdateNotificationPreferencesRequest: z.ZodEffects<z.ZodObject<{
    messages: z.ZodOptional<z.ZodEnum<["all", "mentions", "off"]>>;
    calls: z.ZodOptional<z.ZodBoolean>;
    tasks: z.ZodOptional<z.ZodBoolean>;
    calendar: z.ZodOptional<z.ZodBoolean>;
    sound: z.ZodOptional<z.ZodBoolean>;
    inAppFlash: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    messages?: "all" | "mentions" | "off" | undefined;
    calls?: boolean | undefined;
    tasks?: boolean | undefined;
    calendar?: boolean | undefined;
    sound?: boolean | undefined;
    inAppFlash?: boolean | undefined;
}, {
    messages?: "all" | "mentions" | "off" | undefined;
    calls?: boolean | undefined;
    tasks?: boolean | undefined;
    calendar?: boolean | undefined;
    sound?: boolean | undefined;
    inAppFlash?: boolean | undefined;
}>, {
    messages?: "all" | "mentions" | "off" | undefined;
    calls?: boolean | undefined;
    tasks?: boolean | undefined;
    calendar?: boolean | undefined;
    sound?: boolean | undefined;
    inAppFlash?: boolean | undefined;
}, {
    messages?: "all" | "mentions" | "off" | undefined;
    calls?: boolean | undefined;
    tasks?: boolean | undefined;
    calendar?: boolean | undefined;
    sound?: boolean | undefined;
    inAppFlash?: boolean | undefined;
}>;
export type UpdateNotificationPreferencesRequest = z.infer<typeof UpdateNotificationPreferencesRequest>;
export declare const UpdateActivityReadRequest: z.ZodObject<{
    messageIds: z.ZodArray<z.ZodNumber, "many">;
    read: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    messageIds: number[];
    read: boolean;
}, {
    messageIds: number[];
    read: boolean;
}>;
export type UpdateActivityReadRequest = z.infer<typeof UpdateActivityReadRequest>;
//# sourceMappingURL=messaging-http.d.ts.map