@amityco/ts-sdk-react-native
Version:
Amity Social Cloud Typescript SDK
80 lines • 3.32 kB
TypeScript
export declare const ContentFeedType: Readonly<{
STORY: "story";
CLIP: "clip";
CHAT: "chat";
POST: "post";
MESSAGE: "message";
}>;
export declare enum ContentFlagReasonEnum {
CommunityGuidelines = "Against community guidelines",
HarassmentOrBullying = "Harassment or bullying",
SelfHarmOrSuicide = "Self-harm or suicide",
ViolenceOrThreateningContent = "Violence or threatening content",
SellingRestrictedItems = "Selling and promoting restricted items",
SexualContentOrNudity = "Sexual message or nudity",
SpamOrScams = "Spam or scams",
FalseInformation = "False information or misinformation",
Others = "Others"
}
declare global {
namespace Amity {
type ContentFlagReason = Exclude<`${ContentFlagReasonEnum}`, `${ContentFlagReasonEnum.Others}`> | (string & {});
type ContentType = 'text' | 'image' | 'file' | 'video' | 'poll' | 'json' | 'liveStream' | 'clip' | string;
type ContentFeedType = ValueOf<typeof ContentFeedType>;
type ContentDataText = {
title?: string | null;
text: string;
};
type ContentDataFile = {
fileId: Amity.File<'file'>['fileId'];
};
type ContentDataImage = {
fileId: Amity.File<'image'>['fileId'];
caption?: string;
};
type Attachment = {
type: 'image' | 'link';
url?: string;
fileId?: Amity.File<'image'>['fileId'];
};
type ContentDataVideo = {
thumbnailFileId: Amity.File<'image'>['fileId'];
videoFileId: {
[K in Amity.VideoSize]?: Amity.File<'video'>['fileId'];
};
};
type ContentDataClip = {
thumbnailFileId: Amity.File<'image'>['fileId'];
fileId: Amity.File<'clip'>['fileId'];
isMuted?: boolean;
displayMode?: Amity.ClipDisplayMode;
};
type ContentDataPoll = {
pollId: Amity.Poll['pollId'];
};
type ContentDataStream = {
streamId: Amity.Stream['streamId'];
};
type ContentData<T extends ContentType> = T extends 'text' ? ContentDataText : T extends 'file' ? ContentDataFile : T extends 'image' ? ContentDataImage : T extends 'video' ? ContentDataVideo : T extends 'poll' ? ContentDataPoll : T extends 'liveStream' ? ContentDataStream : T extends 'clip' ? ContentDataClip : T extends 'json' ? Record<string, unknown> : T extends string ? string | Record<string, unknown> : never;
type Content<T extends ContentType> = {
dataType?: T;
dataTypes?: T[];
data?: ContentData<T>;
};
type ContentSettingText = {
contentType: 'text';
allowed: boolean;
};
type ContentSettingVideo = {
contentType: 'video';
allowed: boolean;
maxDurationSeconds: number;
transcodeConfig: {
maxResolution: Amity.VideoResolution;
minResolution: Amity.VideoResolution;
};
};
type ContentSetting<T extends ContentType = 'text' | 'video'> = T extends 'text' ? ContentSettingText : T extends 'video' ? ContentSettingVideo : never;
}
}
//# sourceMappingURL=content.d.ts.map