import { z } from 'zod'; import { CommsResponse, ChatPermission, ChatMessage, ChatMessageNullableReaction, ChatBlastAudience } from './serverTypes'; export declare const ChatGetAllRequestSchema: z.ZodObject<{ userId: z.ZodString; limit: z.ZodOptional; before: z.ZodOptional; after: z.ZodOptional; }, "strip", z.ZodTypeAny, { userId: string; limit?: number | undefined; before?: string | undefined; after?: string | undefined; }, { userId: string; limit?: number | undefined; before?: string | undefined; after?: string | undefined; }>; export type ChatGetAllRequest = z.infer; export declare const ChatGetRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; }, "strip", z.ZodTypeAny, { chatId: string; currentUserId?: string | undefined; }, { chatId: string; currentUserId?: string | undefined; }>; export type ChatGetRequest = z.infer; export declare const ChatGetMessagesRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; isBlast: z.ZodOptional; limit: z.ZodOptional; before: z.ZodOptional; after: z.ZodOptional; }, "strip", z.ZodTypeAny, { chatId: string; currentUserId?: string | undefined; isBlast?: boolean | undefined; limit?: number | undefined; before?: string | undefined; after?: string | undefined; }, { chatId: string; currentUserId?: string | undefined; isBlast?: boolean | undefined; limit?: number | undefined; before?: string | undefined; after?: string | undefined; }>; export type ChatGetMessagesRequest = z.infer; export declare const ChatGetUnreadCountRequestSchema: z.ZodOptional; }, "strip", z.ZodTypeAny, { currentUserId?: string | undefined; }, { currentUserId?: string | undefined; }>>; export type ChatGetUnreadCountRequest = z.infer; export declare const ChatGetBlockersRequestSchema: z.ZodOptional; }, "strip", z.ZodTypeAny, { currentUserId?: string | undefined; }, { currentUserId?: string | undefined; }>>; export type ChatGetBlockersRequest = z.infer; export declare const ChatCreateRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; userId: z.ZodString; invitedUserIds: z.ZodArray; }, "strip", z.ZodTypeAny, { userId: string; invitedUserIds: string[]; currentUserId?: string | undefined; }, { userId: string; invitedUserIds: string[]; currentUserId?: string | undefined; }>; export type ChatCreateRequest = z.infer; export declare const ChatInviteRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; userId: z.ZodString; invitedUserIds: z.ZodArray; }, "strip", z.ZodTypeAny, { userId: string; chatId: string; invitedUserIds: string[]; currentUserId?: string | undefined; }, { userId: string; chatId: string; invitedUserIds: string[]; currentUserId?: string | undefined; }>; export type ChatInviteRequest = z.infer; export declare const ChatMessageRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; messageId: z.ZodOptional; message: z.ZodString; }, "strip", z.ZodTypeAny, { message: string; chatId: string; currentUserId?: string | undefined; messageId?: string | undefined; }, { message: string; chatId: string; currentUserId?: string | undefined; messageId?: string | undefined; }>; export type ChatMessageRequest = z.infer; export declare const ChatBlastMessageRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; blastId: z.ZodString; message: z.ZodString; audience: z.ZodNativeEnum; audienceContentId: z.ZodOptional; audienceContentType: z.ZodOptional>; }, "strip", z.ZodTypeAny, { message: string; blastId: string; audience: ChatBlastAudience; currentUserId?: string | undefined; audienceContentId?: string | undefined; audienceContentType?: "track" | "album" | undefined; }, { message: string; blastId: string; audience: ChatBlastAudience; currentUserId?: string | undefined; audienceContentId?: string | undefined; audienceContentType?: "track" | "album" | undefined; }>; export type ChatBlastMessageRequest = z.infer; export declare const ChatReactRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; messageId: z.ZodString; reaction: z.ZodNullable; }, "strip", z.ZodTypeAny, { chatId: string; messageId: string; reaction: string | null; currentUserId?: string | undefined; }, { chatId: string; messageId: string; reaction: string | null; currentUserId?: string | undefined; }>; export type ChatReactRequest = z.infer; export declare const ChatReadRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; }, "strip", z.ZodTypeAny, { chatId: string; currentUserId?: string | undefined; }, { chatId: string; currentUserId?: string | undefined; }>; export type ChatReadRequest = z.infer; export declare const ChatBlockRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; userId: z.ZodString; }, "strip", z.ZodTypeAny, { userId: string; currentUserId?: string | undefined; }, { userId: string; currentUserId?: string | undefined; }>; export type ChatBlockRequest = z.infer; export declare const ChatDeleteRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; chatId: z.ZodString; }, "strip", z.ZodTypeAny, { chatId: string; currentUserId?: string | undefined; }, { chatId: string; currentUserId?: string | undefined; }>; export type ChatDeleteRequest = z.infer; export declare const ChatPermitRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; permit: z.ZodOptional>; permitList: z.ZodOptional, "many">>; allow: z.ZodOptional; }, "strip", z.ZodTypeAny, { currentUserId?: string | undefined; permit?: ChatPermission | undefined; permitList?: ChatPermission[] | undefined; allow?: boolean | undefined; }, { currentUserId?: string | undefined; permit?: ChatPermission | undefined; permitList?: ChatPermission[] | undefined; allow?: boolean | undefined; }>; export type ChatPermitRequest = z.infer; export declare const ChatValidateCanCreateRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; userIds: z.ZodArray; }, "strip", z.ZodTypeAny, { userIds: string[]; currentUserId?: string | undefined; }, { userIds: string[]; currentUserId?: string | undefined; }>; export type ChatValidateCanCreateRequest = z.infer; export declare const ChatGetPermissionRequestSchema: z.ZodObject<{ currentUserId: z.ZodOptional; userIds: z.ZodArray; }, "strip", z.ZodTypeAny, { userIds: string[]; currentUserId?: string | undefined; }, { userIds: string[]; currentUserId?: string | undefined; }>; export type ChatGetPermissionRequest = z.infer; export declare const ChatUnfurlRequestSchema: z.ZodObject<{ urls: z.ZodArray; }, "strip", z.ZodTypeAny, { urls: string[]; }, { urls: string[]; }>; export type ChatUnfurlRequest = z.infer; export type TypedCommsResponse = Omit & { data: T; }; export type ChatEvents = { open: () => void; close: () => void; error: (error: any) => void; ['message']: (params: { chatId: string; message: ChatMessage; }) => void; ['reaction']: (params: { chatId: string; messageId: string; reaction: ChatMessageNullableReaction; }) => void; ['blast']: (params: { audience: ChatBlastAudience; audienceContentType?: 'track' | 'album'; audienceContentId?: string; message: ChatMessage; }) => void; }; export type UnfurlResponse = { url: string; url_type?: string; site_name?: string; title?: string; description?: string; image?: string; html?: string; favicon?: string; };