@ccw-api/api
    Preparing search index...

    Variable default

    default: {
        bfsWeb: {
            donateExtension: (eid: string, bucks: number) => Promise<boolean>;
            getUserExtensions: <T extends string>(
                userOid: string,
                pageArgs_?: Partial<PageArgs<"createdAt" | "updatedAt" | T>>,
            ) => Promise<Res>;
        };
        communityWeb: {
            acceptAward: (taskOid: string) => Promise<Res>;
            bindStudentPhone: (
                phone: string,
                code: string,
                countryCode?: string,
            ) => Promise<boolean>;
            changeStudentPassword: (
                newPassword: string,
                code: string,
            ) => Promise<boolean>;
            createCloudVariable: (
                projectId: string,
                variables: Record<string, unknown>,
            ) => Promise<Res>;
            createComment: (
                content: string,
                topic: MinimalTopicInfo,
                sectionType: SectionType,
            ) => Promise<Res>;
            createCreation: (
                title: string,
                latestProjectLink:
                    | `https://m.xiguacity.cn/${string}`
                    | `https://m.ccw.site/${string}`,
                latestCoverLink:
                    | `https://m.xiguacity.cn/${string}`
                    | `https://m.ccw.site/${string}`,
                type?: "ORIGINAL" | "REMIXED",
                screenMode?: "LANDSCAPE",
                sourceOpenLevel?: SourceOpenLevel,
            ) => Promise<Res>;
            createReportLog: (
                reason: string,
                reportedSubjectOid: string,
                evidence?: string[],
                reportedSubjectType?: string,
                description?: string,
                version?: string,
            ) => Promise<boolean>;
            createShortUrl: (
                originUrl: string,
            ) => Promise<`https://ccw.site/s/${string}`>;
            createSmartContract: (
                bizId: string,
                title: string,
                type: SmartContractType,
                bizType?: "CREATION",
            ) => Promise<Res>;
            createSmsCaptchaBySession: (
                scene?: "change_password",
                countryCode?: string,
                ruleCode?: "ccw_sms",
                type?: "SMS",
            ) => Promise<Res>;
            createSplitRule: (
                creationOid: string,
                memberSplitDetails: MemberSplitDetail[],
            ) => Promise<boolean>;
            decompressShortUrl: (shortUrlCode: string) => Promise<string>;
            deleteComment: (id: number) => Promise<boolean>;
            donateTrade: (
                bucks: number,
                objectId: string,
                objectType?: "CREATION",
            ) => Promise<null>;
            encodeShortCode: (
                inviterId: string,
                inviterAvatar:
                    | `https://m.xiguacity.cn/${string}`
                    | `https://m.ccw.site/${string}`,
                inviterName: string,
                creationOid: string,
            ) => Promise<Res>;
            executeSmartContract: (
                bizId: string,
                id: number,
                ruleId: number,
                bucks: number,
                bizType?: "CREATION",
            ) => Promise<Res>;
            fetchMemberInviteToken: (
                creationOid: string,
                authority?: "ADMIN" | "MEMBER",
            ) => Promise<string>;
            fetchObserverInviteToken: (creationOid: string) => Promise<string>;
            foldComment: (id: number) => Promise<boolean>;
            followCreator: (followingOid: string) => Promise<"FOLLOWED">;
            getAllEmojis: () => Promise<Res>;
            getApprovalTags: <Tid extends number = number, Tn extends string = string>(
                studentOid: string,
            ) => Promise<Res<Tid, Tn>>;
            getCampaignResources: <K extends CampaignKeywords>(
                keyword: K,
            ) => Promise<Res<K>>;
            getCcwMainStatus: () => Promise<Res>;
            getCheckInRecords: () => Promise<Res>;
            getCloudProjectDetail: (creationOid: string) => Promise<CloudProjectData>;
            getCodeProfilingDetail: (
                creationOid: string,
                creationReleaseOid: string,
            ) => Promise<CodeProfilingDetail>;
            getCommentReplies: <T extends string>(
                topicId: number,
                parentId: number,
                statuses?: ("PUBLISHED" | "FOLDED")[],
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getCommentsByTopic: <T extends string>(
                subjectOid: string,
                subjectType: SubjectType,
                sectionType: SectionType,
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getConfigDetail: (key: string) => Promise<Res>;
            getConnectCommunityCreationLikeStatus: (
                playingCreationOid: string,
                creationOid: string,
            ) => Promise<Res>;
            getConnectCommunityFollowingStatus: (
                playingCreationOid: string,
                userOid: string,
            ) => Promise<Res>;
            getCreationActivityStatsList: (creationOid: string) => Promise<Res>;
            getCreationAttributeDetail: (
                creationOid: string,
            ) => Promise<Res<KeypadConfig[]>>;
            getCreationDashboardMetrics: (
                creationOid: string,
                timePeriod?: DashboardTimePeriod,
            ) => Promise<Res>;
            getCreationDashboardMetricsDistribution: (
                creationOid: string,
                timePeriod?: DashboardTimePeriod,
            ) => Promise<Res>;
            getCreationDashboardOverview: (
                creationOid: string,
                timePeriod?: DashboardTimePeriod,
            ) => Promise<Res>;
            getCreationDetail: (
                oid: string,
                accessKey: string,
                mode?: "" | "EDIT",
            ) => Promise<Creation>;
            getCreationFavoriteDetail: (
                creationOid: string,
            ) => Promise<FavoriteDetail>;
            getCreationIntroduction: (studentOid: string) => Promise<Creation>;
            getCreationRecommendPositionList: (creationOid: string) => Promise<[]>;
            getCreationReleasePage: <T extends string>(
                creationOid: string,
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getCreationsByStudent: <T extends string>(
                studentOids: string[],
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getCreationScreenshotPage: <T extends string>(
                subjectOid: string,
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getCreationStudentDetail: (studentOid: string) => Promise<Student>;
            getCreationTags: () => Promise<Res>;
            getCreatorScore: () => Promise<CreatorScore>;
            getDistrictList: () => Promise<Res>;
            getDonatedRecordRanking: <T extends string>(
                creationOid: string,
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getEmojiCategoryList: () => Promise<Res>;
            getEmojiPage: <T extends string>(
                status?: EmojiStatus,
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getExcellentCreations: (num: number) => Promise<Res>;
            getHashTagDetail: (identifier: string) => Promise<HashTag>;
            getHashTagFavoriteDetail: (hashTagId: number) => Promise<HashTagFavorite>;
            getHealthCheck: () => Promise<Res>;
            getHistoricalTeamMemberPage: <T extends string>(
                creationOid: string,
                pageArgs_?: Partial<PageArgs<string | T>>,
            ) => Promise<Res>;
            getLeafletsItemList: (advertisementId: number) => Promise<Res>;
            getLikeDetail: (creationOid: string) => Promise<UserLikeDetail>;
            getLoadingTips: () => Promise<LoadingTip>;
            getLockedUserDetail: (accountOid: string) => Promise<LockedUserDetail>;
            getManagedHashTags: <T extends string>(
                studentOid: string,
                excludeHashTagIds?: number[],
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getMutedUserDetail: (studentNumber: string) => Promise<null>;
            getMyHashTagCreations: <T extends string>(
                excludeHashTag?: string,
                statuses?: string[],
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getMyTasks: () => Promise<Res>;
            getNotificationPage: <T extends string>(
                notifyGroup?: NotificationGroup,
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getNotificationStats: (countAll?: boolean) => Promise<NotificationStats>;
            getNotifyDeleteReasons: () => Promise<Res>;
            getOwnCreationPage: <T extends string>(
                pageArgs_?: Partial<PageArgs<SortField | T>>,
                statuses?: CreationStatus[],
                ignoreTypicalProject?: boolean,
            ) => Promise<Res>;
            getPersonalCurrencyAccount: () => Promise<Res>;
            getPlanetsOfCreation: (creationOid: string) => Promise<Res>;
            getPostDetail: (slug: string) => Promise<Res>;
            getPotentialCreations: (num: number) => Promise<Res>;
            getRecommendCreations: <T extends string>(
                num: number,
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getRecommendCreators: (
                excellentCount?: number,
                potentialCount?: number,
            ) => Promise<Res>;
            getRecommendHashTags: () => Promise<Res>;
            getRemixedCreationPage: <T extends string>(
                originCreationOids: string[],
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getReputationScoreLogPage: <T extends string>(
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getSchoolList: () => Promise<Res>;
            getSearchHotWords: (length: number) => Promise<Res>;
            getSmartContractAccount: (id: number) => Promise<Res>;
            getSmartContractDetail: (id: number) => Promise<Res>;
            getSmartContractEarningsPage: (
                smartContractIds: number[],
                pageArgs_?: Partial<PageArgs<string>>,
            ) => Promise<Res>;
            getSmartContractList: (
                bizId: string,
                bizType?: "CREATION",
            ) => Promise<Res>;
            getSmartContractTypeList: () => Promise<Res>;
            getSplitRuleDetail: (creationOid: string) => Promise<Res>;
            getSpreadFeedUnreadCount: (studentOid: string) => Promise<number>;
            getStudentBlockRecordDetail: (
                studentOid: string,
            ) => Promise<BlockActionRecord>;
            getStudentBlockRecordList: <T extends string>(
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getStudentBlockStatus: (studentOid: string) => Promise<BlockStatus>;
            getStudentFollowingPage: <T extends string>(
                studentOid: string,
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getStudentLastActiveAt: (studentOid: string) => Promise<Res>;
            getStudentProfile: (
                studentOid: { studentNumber?: string; studentOid?: string },
            ) => Promise<StudentProfile>;
            getStudentSelfDetail: (
                needGrade: boolean,
                needExtraInfo: boolean,
                fields: StudentSelfDetailFields[],
            ) => Promise<StudentSelfDetail>;
            getStudentSessions: <T extends string>(
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getStudentsList: (studentOids: string[]) => Promise<Res>;
            getStudentStats: (studentOid: string) => Promise<StudentFollowerStats>;
            getStudyCommunityMemberDetail: () => Promise<Res>;
            getSubjectAreaPage: <T extends string>(
                scene: "HOMEPAGE",
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getSubjectAreaPageByChannel: <T extends string>(
                channel: SubjectAreaChannel,
                pageArgs_?: Partial<PageArgs<"campaignResourceId" | T>>,
            ) => Promise<Res>;
            getTeamMemberList: (
                creationOid: string,
                authorities: TeamMemberAuthority[],
            ) => Promise<Res>;
            getTeamworkLogPage: <T extends string>(
                creationId: string,
                operateTargets: OperateTargets[],
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res<TeamworkLogContent>>;
            getTime: () => Promise<number>;
            getTypicalProjectPage: <T extends string>(
                studentOid: string,
                pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
            ) => Promise<Res>;
            getTypicalProjectUnreadCount: (studentOid: string) => Promise<[]>;
            getUserAssetStorageSize: () => Promise<Res>;
            getUserCardDetail: (oid: string) => Promise<Res>;
            getUserDashboardMetrics: (
                timePeriod?: DashboardTimePeriod,
            ) => Promise<Res>;
            getUserDashboardMetricsDetail: (
                type: DashboardMetricType,
                timePeriod?: DashboardTimePeriod,
            ) => Promise<Res>;
            getUserDashboardOverview: (
                timePeriod?: DashboardTimePeriod,
            ) => Promise<Res>;
            getUserLabelList: () => Promise<Res>;
            getUserProductsPage: <SortField extends string>(
                productCategory?: AVATAR_FRAME,
                pageArgs_?: Partial<PageArgs<SortField>>,
            ) => Promise<Res>;
            insertCheckInRecord: () => Promise<boolean>;
            investSmartContract: (id: number, bucks: number) => Promise<boolean>;
            likeComment: (commentId: number) => Promise<boolean>;
            produceTeamMemberTicket: (creationOid: string) => Promise<string>;
            queryMallProducts: <T extends string>(
                productCategory?: ProductCategory,
                pageArgs_?: Partial<PageArgs<ProductSortField | T>>,
            ) => Promise<Res>;
            recommendUser: (
                receiverOid: string,
                recommendedStudentOid: string,
            ) => Promise<boolean>;
            resetCommentWeight: (id: number) => Promise<boolean>;
            resolveExternalIp: () => Promise<Res>;
            saveCloudProject: (
                creationOid: string,
                lastModified: number,
                targets: Record<string, unknown>,
                meta?: CloudProjectMeta,
                monitors?: Record<string, unknown>,
                extensions?: string[],
            ) => Promise<boolean>;
            searchAll: (keyword: string) => Promise<Res>;
            searchCloudAssets: <T extends string>(
                creatorOid: string,
                path?: string,
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            searchCreationsByTag: <T extends string>(
                req: Req,
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            searchHashTags: (
                keyword: string,
                pageArgs_?: Partial<PageArgs<string>>,
            ) => Promise<Res>;
            searchPosts: (
                keyword: string,
                pageArgs_?: Partial<PageArgs<string>>,
            ) => Promise<Res>;
            searchStudents: (
                keyword: string,
                pageArgs_?: Partial<PageArgs<string>>,
            ) => Promise<Res>;
            sendEvent: (actionId: string) => Promise<boolean>;
            setUserProductStatus: (id: number, status: boolean) => Promise<boolean>;
            shareCreation: (creationOid: string) => Promise<boolean>;
            shareCreationToFriend: (
                creationOid: string,
                receiverOid: string,
            ) => Promise<boolean>;
            shareFriendInvite: (message: string) => Promise<boolean>;
            submitCreation: (req: Req) => Promise<boolean>;
            topComment: (id: number) => Promise<boolean>;
            translate: (req: Req) => Promise<Res>;
            tts: (req: Req) => Promise<Response>;
            unfollowCreator: (followingOid: string) => Promise<"UNFOLLOWED">;
            unlikeComment: (commentId: number) => Promise<boolean>;
            updateApproval: (id: number, adorned: boolean) => Promise<boolean>;
            updateCreation: (
                oid: string,
                latestProjectLink_:
                    | `https://m.xiguacity.cn/${string}`
                    | `https://m.ccw.site/${string}`,
                screenMode?: "LANDSCAPE",
                latestCoverLink:
                    | `https://m.xiguacity.cn/${string}`
                    | `https://m.ccw.site/${string}`,
            ) => Promise<boolean>;
            updateGreatCreation: (creationOid: string) => Promise<boolean>;
            updateStudent: (profile: StudentUpdateReq) => Promise<boolean>;
            viewCreationStats: (oid: string, inviteCode?: string) => Promise<boolean>;
        };
        communityWebCloudDatabase: {
            getCloudVariableDetailV2: (
                accessKey: string,
                primaryKey: string,
                secondaryKey: string,
                filterKeys: string[],
            ) => Promise<Res>;
            saveProjectCloudVariable: <T extends string>(
                projectId: string,
                secondaryKey: string,
                value: T,
            ) => Promise<{ v: T }>;
            saveUserCloudVariable: <T extends Record<string, string>>(
                projectId: string,
                studentNum: number,
                value: T,
            ) => Promise<T>;
        };
        gandiMain: {
            chatWithGameAssistant: (
                ts: string | number,
                key: string,
                req: Req,
            ) => Promise<Res>;
            getBulletinDetail: (id: number) => Promise<BulletinDetail>;
            getBulletinsPage: <T extends string, S extends string>(
                status?: "PUBLISHED" | S,
                pageArgs_?: Partial<PageArgs<SortField | T>>,
            ) => Promise<Res>;
            getCurrentTimestamp: () => Promise<number>;
            getLeaderboardRecords: (
                leaderboardOid: string,
            ) => Promise<LeaderboardRecordsRes>;
            submitLeaderboardRecord: (
                leaderboardOid: string,
                score: number,
                userOid: string,
                ext?: string,
            ) => Promise<boolean>;
        };
        opParentApi: {
            checkCaptcha: (token: string, x: number, y?: number) => Promise<Res>;
            createCaptcha: (type?: "BLOCK_PUZZLE") => Promise<Res>;
        };
        sso: {
            createSmsCaptcha: (
                recipient: string,
                scene?: "loginbyPhone",
                countryCode?: string,
                ruleCode?: "ccw_sms",
                captcha?: CaptchaPayload,
            ) => Promise<Res>;
            getOauthToken: (code: string) => Promise<Res<Extra>>;
            loginByPassword: (
                loginKey: string,
                password: string,
                reqExtra?: ReqExtra,
            ) => Promise<Res<Extra>>;
            loginByPhone: (
                phone: string,
                code: string,
                reqExtra?: ReqExtra,
                countryCode?: string,
                ruleCode?: "ccw_sms",
                scene?: "loginbyPhone",
            ) => Promise<Res<Extra>>;
            logout: () => Promise<null>;
            logoutBySession: (sessionId: number) => Promise<boolean>;
            oauthAuthorize: (state: string) => Promise<string>;
            touchSession: (token?: string) => Promise<TouchSessionSuccess>;
        };
    }

    Type Declaration

    • bfsWeb: {
          donateExtension: (eid: string, bucks: number) => Promise<boolean>;
          getUserExtensions: <T extends string>(
              userOid: string,
              pageArgs_?: Partial<PageArgs<"createdAt" | "updatedAt" | T>>,
          ) => Promise<Res>;
      }
      • donateExtension: (eid: string, bucks: number) => Promise<boolean>
      • getUserExtensions: <T extends string>(
            userOid: string,
            pageArgs_?: Partial<PageArgs<"createdAt" | "updatedAt" | T>>,
        ) => Promise<Res>
    • communityWeb: {
          acceptAward: (taskOid: string) => Promise<Res>;
          bindStudentPhone: (
              phone: string,
              code: string,
              countryCode?: string,
          ) => Promise<boolean>;
          changeStudentPassword: (
              newPassword: string,
              code: string,
          ) => Promise<boolean>;
          createCloudVariable: (
              projectId: string,
              variables: Record<string, unknown>,
          ) => Promise<Res>;
          createComment: (
              content: string,
              topic: MinimalTopicInfo,
              sectionType: SectionType,
          ) => Promise<Res>;
          createCreation: (
              title: string,
              latestProjectLink:
                  | `https://m.xiguacity.cn/${string}`
                  | `https://m.ccw.site/${string}`,
              latestCoverLink:
                  | `https://m.xiguacity.cn/${string}`
                  | `https://m.ccw.site/${string}`,
              type?: "ORIGINAL" | "REMIXED",
              screenMode?: "LANDSCAPE",
              sourceOpenLevel?: SourceOpenLevel,
          ) => Promise<Res>;
          createReportLog: (
              reason: string,
              reportedSubjectOid: string,
              evidence?: string[],
              reportedSubjectType?: string,
              description?: string,
              version?: string,
          ) => Promise<boolean>;
          createShortUrl: (
              originUrl: string,
          ) => Promise<`https://ccw.site/s/${string}`>;
          createSmartContract: (
              bizId: string,
              title: string,
              type: SmartContractType,
              bizType?: "CREATION",
          ) => Promise<Res>;
          createSmsCaptchaBySession: (
              scene?: "change_password",
              countryCode?: string,
              ruleCode?: "ccw_sms",
              type?: "SMS",
          ) => Promise<Res>;
          createSplitRule: (
              creationOid: string,
              memberSplitDetails: MemberSplitDetail[],
          ) => Promise<boolean>;
          decompressShortUrl: (shortUrlCode: string) => Promise<string>;
          deleteComment: (id: number) => Promise<boolean>;
          donateTrade: (
              bucks: number,
              objectId: string,
              objectType?: "CREATION",
          ) => Promise<null>;
          encodeShortCode: (
              inviterId: string,
              inviterAvatar:
                  | `https://m.xiguacity.cn/${string}`
                  | `https://m.ccw.site/${string}`,
              inviterName: string,
              creationOid: string,
          ) => Promise<Res>;
          executeSmartContract: (
              bizId: string,
              id: number,
              ruleId: number,
              bucks: number,
              bizType?: "CREATION",
          ) => Promise<Res>;
          fetchMemberInviteToken: (
              creationOid: string,
              authority?: "ADMIN" | "MEMBER",
          ) => Promise<string>;
          fetchObserverInviteToken: (creationOid: string) => Promise<string>;
          foldComment: (id: number) => Promise<boolean>;
          followCreator: (followingOid: string) => Promise<"FOLLOWED">;
          getAllEmojis: () => Promise<Res>;
          getApprovalTags: <Tid extends number = number, Tn extends string = string>(
              studentOid: string,
          ) => Promise<Res<Tid, Tn>>;
          getCampaignResources: <K extends CampaignKeywords>(
              keyword: K,
          ) => Promise<Res<K>>;
          getCcwMainStatus: () => Promise<Res>;
          getCheckInRecords: () => Promise<Res>;
          getCloudProjectDetail: (creationOid: string) => Promise<CloudProjectData>;
          getCodeProfilingDetail: (
              creationOid: string,
              creationReleaseOid: string,
          ) => Promise<CodeProfilingDetail>;
          getCommentReplies: <T extends string>(
              topicId: number,
              parentId: number,
              statuses?: ("PUBLISHED" | "FOLDED")[],
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getCommentsByTopic: <T extends string>(
              subjectOid: string,
              subjectType: SubjectType,
              sectionType: SectionType,
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getConfigDetail: (key: string) => Promise<Res>;
          getConnectCommunityCreationLikeStatus: (
              playingCreationOid: string,
              creationOid: string,
          ) => Promise<Res>;
          getConnectCommunityFollowingStatus: (
              playingCreationOid: string,
              userOid: string,
          ) => Promise<Res>;
          getCreationActivityStatsList: (creationOid: string) => Promise<Res>;
          getCreationAttributeDetail: (
              creationOid: string,
          ) => Promise<Res<KeypadConfig[]>>;
          getCreationDashboardMetrics: (
              creationOid: string,
              timePeriod?: DashboardTimePeriod,
          ) => Promise<Res>;
          getCreationDashboardMetricsDistribution: (
              creationOid: string,
              timePeriod?: DashboardTimePeriod,
          ) => Promise<Res>;
          getCreationDashboardOverview: (
              creationOid: string,
              timePeriod?: DashboardTimePeriod,
          ) => Promise<Res>;
          getCreationDetail: (
              oid: string,
              accessKey: string,
              mode?: "" | "EDIT",
          ) => Promise<Creation>;
          getCreationFavoriteDetail: (creationOid: string) => Promise<FavoriteDetail>;
          getCreationIntroduction: (studentOid: string) => Promise<Creation>;
          getCreationRecommendPositionList: (creationOid: string) => Promise<[]>;
          getCreationReleasePage: <T extends string>(
              creationOid: string,
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getCreationsByStudent: <T extends string>(
              studentOids: string[],
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getCreationScreenshotPage: <T extends string>(
              subjectOid: string,
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getCreationStudentDetail: (studentOid: string) => Promise<Student>;
          getCreationTags: () => Promise<Res>;
          getCreatorScore: () => Promise<CreatorScore>;
          getDistrictList: () => Promise<Res>;
          getDonatedRecordRanking: <T extends string>(
              creationOid: string,
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getEmojiCategoryList: () => Promise<Res>;
          getEmojiPage: <T extends string>(
              status?: EmojiStatus,
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getExcellentCreations: (num: number) => Promise<Res>;
          getHashTagDetail: (identifier: string) => Promise<HashTag>;
          getHashTagFavoriteDetail: (hashTagId: number) => Promise<HashTagFavorite>;
          getHealthCheck: () => Promise<Res>;
          getHistoricalTeamMemberPage: <T extends string>(
              creationOid: string,
              pageArgs_?: Partial<PageArgs<string | T>>,
          ) => Promise<Res>;
          getLeafletsItemList: (advertisementId: number) => Promise<Res>;
          getLikeDetail: (creationOid: string) => Promise<UserLikeDetail>;
          getLoadingTips: () => Promise<LoadingTip>;
          getLockedUserDetail: (accountOid: string) => Promise<LockedUserDetail>;
          getManagedHashTags: <T extends string>(
              studentOid: string,
              excludeHashTagIds?: number[],
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getMutedUserDetail: (studentNumber: string) => Promise<null>;
          getMyHashTagCreations: <T extends string>(
              excludeHashTag?: string,
              statuses?: string[],
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getMyTasks: () => Promise<Res>;
          getNotificationPage: <T extends string>(
              notifyGroup?: NotificationGroup,
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getNotificationStats: (countAll?: boolean) => Promise<NotificationStats>;
          getNotifyDeleteReasons: () => Promise<Res>;
          getOwnCreationPage: <T extends string>(
              pageArgs_?: Partial<PageArgs<SortField | T>>,
              statuses?: CreationStatus[],
              ignoreTypicalProject?: boolean,
          ) => Promise<Res>;
          getPersonalCurrencyAccount: () => Promise<Res>;
          getPlanetsOfCreation: (creationOid: string) => Promise<Res>;
          getPostDetail: (slug: string) => Promise<Res>;
          getPotentialCreations: (num: number) => Promise<Res>;
          getRecommendCreations: <T extends string>(
              num: number,
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getRecommendCreators: (
              excellentCount?: number,
              potentialCount?: number,
          ) => Promise<Res>;
          getRecommendHashTags: () => Promise<Res>;
          getRemixedCreationPage: <T extends string>(
              originCreationOids: string[],
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getReputationScoreLogPage: <T extends string>(
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getSchoolList: () => Promise<Res>;
          getSearchHotWords: (length: number) => Promise<Res>;
          getSmartContractAccount: (id: number) => Promise<Res>;
          getSmartContractDetail: (id: number) => Promise<Res>;
          getSmartContractEarningsPage: (
              smartContractIds: number[],
              pageArgs_?: Partial<PageArgs<string>>,
          ) => Promise<Res>;
          getSmartContractList: (bizId: string, bizType?: "CREATION") => Promise<Res>;
          getSmartContractTypeList: () => Promise<Res>;
          getSplitRuleDetail: (creationOid: string) => Promise<Res>;
          getSpreadFeedUnreadCount: (studentOid: string) => Promise<number>;
          getStudentBlockRecordDetail: (
              studentOid: string,
          ) => Promise<BlockActionRecord>;
          getStudentBlockRecordList: <T extends string>(
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getStudentBlockStatus: (studentOid: string) => Promise<BlockStatus>;
          getStudentFollowingPage: <T extends string>(
              studentOid: string,
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getStudentLastActiveAt: (studentOid: string) => Promise<Res>;
          getStudentProfile: (
              studentOid: { studentNumber?: string; studentOid?: string },
          ) => Promise<StudentProfile>;
          getStudentSelfDetail: (
              needGrade: boolean,
              needExtraInfo: boolean,
              fields: StudentSelfDetailFields[],
          ) => Promise<StudentSelfDetail>;
          getStudentSessions: <T extends string>(
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getStudentsList: (studentOids: string[]) => Promise<Res>;
          getStudentStats: (studentOid: string) => Promise<StudentFollowerStats>;
          getStudyCommunityMemberDetail: () => Promise<Res>;
          getSubjectAreaPage: <T extends string>(
              scene: "HOMEPAGE",
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getSubjectAreaPageByChannel: <T extends string>(
              channel: SubjectAreaChannel,
              pageArgs_?: Partial<PageArgs<"campaignResourceId" | T>>,
          ) => Promise<Res>;
          getTeamMemberList: (
              creationOid: string,
              authorities: TeamMemberAuthority[],
          ) => Promise<Res>;
          getTeamworkLogPage: <T extends string>(
              creationId: string,
              operateTargets: OperateTargets[],
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res<TeamworkLogContent>>;
          getTime: () => Promise<number>;
          getTypicalProjectPage: <T extends string>(
              studentOid: string,
              pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
          ) => Promise<Res>;
          getTypicalProjectUnreadCount: (studentOid: string) => Promise<[]>;
          getUserAssetStorageSize: () => Promise<Res>;
          getUserCardDetail: (oid: string) => Promise<Res>;
          getUserDashboardMetrics: (timePeriod?: DashboardTimePeriod) => Promise<Res>;
          getUserDashboardMetricsDetail: (
              type: DashboardMetricType,
              timePeriod?: DashboardTimePeriod,
          ) => Promise<Res>;
          getUserDashboardOverview: (
              timePeriod?: DashboardTimePeriod,
          ) => Promise<Res>;
          getUserLabelList: () => Promise<Res>;
          getUserProductsPage: <SortField extends string>(
              productCategory?: AVATAR_FRAME,
              pageArgs_?: Partial<PageArgs<SortField>>,
          ) => Promise<Res>;
          insertCheckInRecord: () => Promise<boolean>;
          investSmartContract: (id: number, bucks: number) => Promise<boolean>;
          likeComment: (commentId: number) => Promise<boolean>;
          produceTeamMemberTicket: (creationOid: string) => Promise<string>;
          queryMallProducts: <T extends string>(
              productCategory?: ProductCategory,
              pageArgs_?: Partial<PageArgs<ProductSortField | T>>,
          ) => Promise<Res>;
          recommendUser: (
              receiverOid: string,
              recommendedStudentOid: string,
          ) => Promise<boolean>;
          resetCommentWeight: (id: number) => Promise<boolean>;
          resolveExternalIp: () => Promise<Res>;
          saveCloudProject: (
              creationOid: string,
              lastModified: number,
              targets: Record<string, unknown>,
              meta?: CloudProjectMeta,
              monitors?: Record<string, unknown>,
              extensions?: string[],
          ) => Promise<boolean>;
          searchAll: (keyword: string) => Promise<Res>;
          searchCloudAssets: <T extends string>(
              creatorOid: string,
              path?: string,
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          searchCreationsByTag: <T extends string>(
              req: Req,
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          searchHashTags: (
              keyword: string,
              pageArgs_?: Partial<PageArgs<string>>,
          ) => Promise<Res>;
          searchPosts: (
              keyword: string,
              pageArgs_?: Partial<PageArgs<string>>,
          ) => Promise<Res>;
          searchStudents: (
              keyword: string,
              pageArgs_?: Partial<PageArgs<string>>,
          ) => Promise<Res>;
          sendEvent: (actionId: string) => Promise<boolean>;
          setUserProductStatus: (id: number, status: boolean) => Promise<boolean>;
          shareCreation: (creationOid: string) => Promise<boolean>;
          shareCreationToFriend: (
              creationOid: string,
              receiverOid: string,
          ) => Promise<boolean>;
          shareFriendInvite: (message: string) => Promise<boolean>;
          submitCreation: (req: Req) => Promise<boolean>;
          topComment: (id: number) => Promise<boolean>;
          translate: (req: Req) => Promise<Res>;
          tts: (req: Req) => Promise<Response>;
          unfollowCreator: (followingOid: string) => Promise<"UNFOLLOWED">;
          unlikeComment: (commentId: number) => Promise<boolean>;
          updateApproval: (id: number, adorned: boolean) => Promise<boolean>;
          updateCreation: (
              oid: string,
              latestProjectLink_:
                  | `https://m.xiguacity.cn/${string}`
                  | `https://m.ccw.site/${string}`,
              screenMode?: "LANDSCAPE",
              latestCoverLink:
                  | `https://m.xiguacity.cn/${string}`
                  | `https://m.ccw.site/${string}`,
          ) => Promise<boolean>;
          updateGreatCreation: (creationOid: string) => Promise<boolean>;
          updateStudent: (profile: StudentUpdateReq) => Promise<boolean>;
          viewCreationStats: (oid: string, inviteCode?: string) => Promise<boolean>;
      }
      • acceptAward: (taskOid: string) => Promise<Res>
      • bindStudentPhone: (phone: string, code: string, countryCode?: string) => Promise<boolean>
      • changeStudentPassword: (newPassword: string, code: string) => Promise<boolean>
      • createCloudVariable: (projectId: string, variables: Record<string, unknown>) => Promise<Res>
      • createComment: (
            content: string,
            topic: MinimalTopicInfo,
            sectionType: SectionType,
        ) => Promise<Res>
      • createCreation: (
            title: string,
            latestProjectLink:
                | `https://m.xiguacity.cn/${string}`
                | `https://m.ccw.site/${string}`,
            latestCoverLink:
                | `https://m.xiguacity.cn/${string}`
                | `https://m.ccw.site/${string}`,
            type?: "ORIGINAL" | "REMIXED",
            screenMode?: "LANDSCAPE",
            sourceOpenLevel?: SourceOpenLevel,
        ) => Promise<Res>
      • createReportLog: (
            reason: string,
            reportedSubjectOid: string,
            evidence?: string[],
            reportedSubjectType?: string,
            description?: string,
            version?: string,
        ) => Promise<boolean>
      • createShortUrl: (originUrl: string) => Promise<`https://ccw.site/s/${string}`>
      • createSmartContract: (
            bizId: string,
            title: string,
            type: SmartContractType,
            bizType?: "CREATION",
        ) => Promise<Res>
      • createSmsCaptchaBySession: (
            scene?: "change_password",
            countryCode?: string,
            ruleCode?: "ccw_sms",
            type?: "SMS",
        ) => Promise<Res>
      • createSplitRule: (
            creationOid: string,
            memberSplitDetails: MemberSplitDetail[],
        ) => Promise<boolean>
      • decompressShortUrl: (shortUrlCode: string) => Promise<string>
      • deleteComment: (id: number) => Promise<boolean>
      • donateTrade: (bucks: number, objectId: string, objectType?: "CREATION") => Promise<null>
      • encodeShortCode: (
            inviterId: string,
            inviterAvatar:
                | `https://m.xiguacity.cn/${string}`
                | `https://m.ccw.site/${string}`,
            inviterName: string,
            creationOid: string,
        ) => Promise<Res>
      • executeSmartContract: (
            bizId: string,
            id: number,
            ruleId: number,
            bucks: number,
            bizType?: "CREATION",
        ) => Promise<Res>
      • fetchMemberInviteToken: (creationOid: string, authority?: "ADMIN" | "MEMBER") => Promise<string>
      • fetchObserverInviteToken: (creationOid: string) => Promise<string>
      • foldComment: (id: number) => Promise<boolean>
      • followCreator: (followingOid: string) => Promise<"FOLLOWED">
      • getAllEmojis: () => Promise<Res>
      • getApprovalTags: <Tid extends number = number, Tn extends string = string>(
            studentOid: string,
        ) => Promise<Res<Tid, Tn>>
      • getCampaignResources: <K extends CampaignKeywords>(keyword: K) => Promise<Res<K>>
      • getCcwMainStatus: () => Promise<Res>
      • getCheckInRecords: () => Promise<Res>
      • getCloudProjectDetail: (creationOid: string) => Promise<CloudProjectData>
      • getCodeProfilingDetail: (
            creationOid: string,
            creationReleaseOid: string,
        ) => Promise<CodeProfilingDetail>
      • getCommentReplies: <T extends string>(
            topicId: number,
            parentId: number,
            statuses?: ("PUBLISHED" | "FOLDED")[],
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getCommentsByTopic: <T extends string>(
            subjectOid: string,
            subjectType: SubjectType,
            sectionType: SectionType,
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getConfigDetail: (key: string) => Promise<Res>
      • getConnectCommunityCreationLikeStatus: (playingCreationOid: string, creationOid: string) => Promise<Res>
      • getConnectCommunityFollowingStatus: (playingCreationOid: string, userOid: string) => Promise<Res>
      • getCreationActivityStatsList: (creationOid: string) => Promise<Res>
      • getCreationAttributeDetail: (creationOid: string) => Promise<Res<KeypadConfig[]>>
      • getCreationDashboardMetrics: (creationOid: string, timePeriod?: DashboardTimePeriod) => Promise<Res>
      • getCreationDashboardMetricsDistribution: (creationOid: string, timePeriod?: DashboardTimePeriod) => Promise<Res>
      • getCreationDashboardOverview: (creationOid: string, timePeriod?: DashboardTimePeriod) => Promise<Res>
      • getCreationDetail: (oid: string, accessKey: string, mode?: "" | "EDIT") => Promise<Creation>
      • getCreationFavoriteDetail: (creationOid: string) => Promise<FavoriteDetail>
      • getCreationIntroduction: (studentOid: string) => Promise<Creation>
      • getCreationRecommendPositionList: (creationOid: string) => Promise<[]>
      • getCreationReleasePage: <T extends string>(
            creationOid: string,
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getCreationsByStudent: <T extends string>(
            studentOids: string[],
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getCreationScreenshotPage: <T extends string>(
            subjectOid: string,
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getCreationStudentDetail: (studentOid: string) => Promise<Student>
      • getCreationTags: () => Promise<Res>
      • getCreatorScore: () => Promise<CreatorScore>
      • getDistrictList: () => Promise<Res>
      • getDonatedRecordRanking: <T extends string>(
            creationOid: string,
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getEmojiCategoryList: () => Promise<Res>
      • getEmojiPage: <T extends string>(
            status?: EmojiStatus,
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getExcellentCreations: (num: number) => Promise<Res>
      • getHashTagDetail: (identifier: string) => Promise<HashTag>
      • getHashTagFavoriteDetail: (hashTagId: number) => Promise<HashTagFavorite>
      • getHealthCheck: () => Promise<Res>
      • getHistoricalTeamMemberPage: <T extends string>(
            creationOid: string,
            pageArgs_?: Partial<PageArgs<string | T>>,
        ) => Promise<Res>
      • getLeafletsItemList: (advertisementId: number) => Promise<Res>
      • getLikeDetail: (creationOid: string) => Promise<UserLikeDetail>
      • getLoadingTips: () => Promise<LoadingTip>
      • getLockedUserDetail: (accountOid: string) => Promise<LockedUserDetail>
      • getManagedHashTags: <T extends string>(
            studentOid: string,
            excludeHashTagIds?: number[],
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getMutedUserDetail: (studentNumber: string) => Promise<null>
      • getMyHashTagCreations: <T extends string>(
            excludeHashTag?: string,
            statuses?: string[],
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getMyTasks: () => Promise<Res>
      • getNotificationPage: <T extends string>(
            notifyGroup?: NotificationGroup,
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getNotificationStats: (countAll?: boolean) => Promise<NotificationStats>
      • getNotifyDeleteReasons: () => Promise<Res>
      • getOwnCreationPage: <T extends string>(
            pageArgs_?: Partial<PageArgs<SortField | T>>,
            statuses?: CreationStatus[],
            ignoreTypicalProject?: boolean,
        ) => Promise<Res>
      • getPersonalCurrencyAccount: () => Promise<Res>
      • getPlanetsOfCreation: (creationOid: string) => Promise<Res>
      • getPostDetail: (slug: string) => Promise<Res>
      • getPotentialCreations: (num: number) => Promise<Res>
      • getRecommendCreations: <T extends string>(
            num: number,
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getRecommendCreators: (excellentCount?: number, potentialCount?: number) => Promise<Res>
      • getRecommendHashTags: () => Promise<Res>
      • getRemixedCreationPage: <T extends string>(
            originCreationOids: string[],
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getReputationScoreLogPage: <T extends string>(
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getSchoolList: () => Promise<Res>
      • getSearchHotWords: (length: number) => Promise<Res>
      • getSmartContractAccount: (id: number) => Promise<Res>
      • getSmartContractDetail: (id: number) => Promise<Res>
      • getSmartContractEarningsPage: (
            smartContractIds: number[],
            pageArgs_?: Partial<PageArgs<string>>,
        ) => Promise<Res>
      • getSmartContractList: (bizId: string, bizType?: "CREATION") => Promise<Res>
      • getSmartContractTypeList: () => Promise<Res>
      • getSplitRuleDetail: (creationOid: string) => Promise<Res>
      • getSpreadFeedUnreadCount: (studentOid: string) => Promise<number>
      • getStudentBlockRecordDetail: (studentOid: string) => Promise<BlockActionRecord>
      • getStudentBlockRecordList: <T extends string>(
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getStudentBlockStatus: (studentOid: string) => Promise<BlockStatus>
      • getStudentFollowingPage: <T extends string>(
            studentOid: string,
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getStudentLastActiveAt: (studentOid: string) => Promise<Res>
      • getStudentProfile: (
            studentOid: { studentNumber?: string; studentOid?: string },
        ) => Promise<StudentProfile>
      • getStudentSelfDetail: (
            needGrade: boolean,
            needExtraInfo: boolean,
            fields: StudentSelfDetailFields[],
        ) => Promise<StudentSelfDetail>
      • getStudentSessions: <T extends string>(
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getStudentsList: (studentOids: string[]) => Promise<Res>
      • getStudentStats: (studentOid: string) => Promise<StudentFollowerStats>
      • getStudyCommunityMemberDetail: () => Promise<Res>
      • getSubjectAreaPage: <T extends string>(
            scene: "HOMEPAGE",
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getSubjectAreaPageByChannel: <T extends string>(
            channel: SubjectAreaChannel,
            pageArgs_?: Partial<PageArgs<"campaignResourceId" | T>>,
        ) => Promise<Res>
      • getTeamMemberList: (creationOid: string, authorities: TeamMemberAuthority[]) => Promise<Res>
      • getTeamworkLogPage: <T extends string>(
            creationId: string,
            operateTargets: OperateTargets[],
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res<TeamworkLogContent>>
      • getTime: () => Promise<number>
      • getTypicalProjectPage: <T extends string>(
            studentOid: string,
            pageArgs_?: Partial<PageArgs<"createdAt" | T>>,
        ) => Promise<Res>
      • getTypicalProjectUnreadCount: (studentOid: string) => Promise<[]>
      • getUserAssetStorageSize: () => Promise<Res>
      • getUserCardDetail: (oid: string) => Promise<Res>
      • getUserDashboardMetrics: (timePeriod?: DashboardTimePeriod) => Promise<Res>
      • getUserDashboardMetricsDetail: (type: DashboardMetricType, timePeriod?: DashboardTimePeriod) => Promise<Res>
      • getUserDashboardOverview: (timePeriod?: DashboardTimePeriod) => Promise<Res>
      • getUserLabelList: () => Promise<Res>
      • getUserProductsPage: <SortField extends string>(
            productCategory?: AVATAR_FRAME,
            pageArgs_?: Partial<PageArgs<SortField>>,
        ) => Promise<Res>
      • insertCheckInRecord: () => Promise<boolean>
      • investSmartContract: (id: number, bucks: number) => Promise<boolean>
      • likeComment: (commentId: number) => Promise<boolean>
      • produceTeamMemberTicket: (creationOid: string) => Promise<string>
      • queryMallProducts: <T extends string>(
            productCategory?: ProductCategory,
            pageArgs_?: Partial<PageArgs<ProductSortField | T>>,
        ) => Promise<Res>
      • recommendUser: (receiverOid: string, recommendedStudentOid: string) => Promise<boolean>
      • resetCommentWeight: (id: number) => Promise<boolean>
      • resolveExternalIp: () => Promise<Res>
      • saveCloudProject: (
            creationOid: string,
            lastModified: number,
            targets: Record<string, unknown>,
            meta?: CloudProjectMeta,
            monitors?: Record<string, unknown>,
            extensions?: string[],
        ) => Promise<boolean>
      • searchAll: (keyword: string) => Promise<Res>
      • searchCloudAssets: <T extends string>(
            creatorOid: string,
            path?: string,
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • searchCreationsByTag: <T extends string>(
            req: Req,
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • searchHashTags: (keyword: string, pageArgs_?: Partial<PageArgs<string>>) => Promise<Res>
      • searchPosts: (keyword: string, pageArgs_?: Partial<PageArgs<string>>) => Promise<Res>
      • searchStudents: (keyword: string, pageArgs_?: Partial<PageArgs<string>>) => Promise<Res>
      • sendEvent: (actionId: string) => Promise<boolean>
      • setUserProductStatus: (id: number, status: boolean) => Promise<boolean>
      • shareCreation: (creationOid: string) => Promise<boolean>
      • shareCreationToFriend: (creationOid: string, receiverOid: string) => Promise<boolean>
      • shareFriendInvite: (message: string) => Promise<boolean>
      • submitCreation: (req: Req) => Promise<boolean>
      • topComment: (id: number) => Promise<boolean>
      • translate: (req: Req) => Promise<Res>
      • tts: (req: Req) => Promise<Response>
      • unfollowCreator: (followingOid: string) => Promise<"UNFOLLOWED">
      • unlikeComment: (commentId: number) => Promise<boolean>
      • updateApproval: (id: number, adorned: boolean) => Promise<boolean>
      • updateCreation: (
            oid: string,
            latestProjectLink_:
                | `https://m.xiguacity.cn/${string}`
                | `https://m.ccw.site/${string}`,
            screenMode?: "LANDSCAPE",
            latestCoverLink:
                | `https://m.xiguacity.cn/${string}`
                | `https://m.ccw.site/${string}`,
        ) => Promise<boolean>
      • updateGreatCreation: (creationOid: string) => Promise<boolean>
      • updateStudent: (profile: StudentUpdateReq) => Promise<boolean>
      • viewCreationStats: (oid: string, inviteCode?: string) => Promise<boolean>
    • communityWebCloudDatabase: {
          getCloudVariableDetailV2: (
              accessKey: string,
              primaryKey: string,
              secondaryKey: string,
              filterKeys: string[],
          ) => Promise<Res>;
          saveProjectCloudVariable: <T extends string>(
              projectId: string,
              secondaryKey: string,
              value: T,
          ) => Promise<{ v: T }>;
          saveUserCloudVariable: <T extends Record<string, string>>(
              projectId: string,
              studentNum: number,
              value: T,
          ) => Promise<T>;
      }
      • getCloudVariableDetailV2: (
            accessKey: string,
            primaryKey: string,
            secondaryKey: string,
            filterKeys: string[],
        ) => Promise<Res>
      • saveProjectCloudVariable: <T extends string>(
            projectId: string,
            secondaryKey: string,
            value: T,
        ) => Promise<{ v: T }>
      • saveUserCloudVariable: <T extends Record<string, string>>(
            projectId: string,
            studentNum: number,
            value: T,
        ) => Promise<T>
    • gandiMain: {
          chatWithGameAssistant: (
              ts: string | number,
              key: string,
              req: Req,
          ) => Promise<Res>;
          getBulletinDetail: (id: number) => Promise<BulletinDetail>;
          getBulletinsPage: <T extends string, S extends string>(
              status?: "PUBLISHED" | S,
              pageArgs_?: Partial<PageArgs<SortField | T>>,
          ) => Promise<Res>;
          getCurrentTimestamp: () => Promise<number>;
          getLeaderboardRecords: (
              leaderboardOid: string,
          ) => Promise<LeaderboardRecordsRes>;
          submitLeaderboardRecord: (
              leaderboardOid: string,
              score: number,
              userOid: string,
              ext?: string,
          ) => Promise<boolean>;
      }
      • chatWithGameAssistant: (ts: string | number, key: string, req: Req) => Promise<Res>
      • getBulletinDetail: (id: number) => Promise<BulletinDetail>
      • getBulletinsPage: <T extends string, S extends string>(
            status?: "PUBLISHED" | S,
            pageArgs_?: Partial<PageArgs<SortField | T>>,
        ) => Promise<Res>
      • getCurrentTimestamp: () => Promise<number>
      • getLeaderboardRecords: (leaderboardOid: string) => Promise<LeaderboardRecordsRes>
      • submitLeaderboardRecord: (
            leaderboardOid: string,
            score: number,
            userOid: string,
            ext?: string,
        ) => Promise<boolean>
    • opParentApi: {
          checkCaptcha: (token: string, x: number, y?: number) => Promise<Res>;
          createCaptcha: (type?: "BLOCK_PUZZLE") => Promise<Res>;
      }
      • checkCaptcha: (token: string, x: number, y?: number) => Promise<Res>
      • createCaptcha: (type?: "BLOCK_PUZZLE") => Promise<Res>
    • sso: {
          createSmsCaptcha: (
              recipient: string,
              scene?: "loginbyPhone",
              countryCode?: string,
              ruleCode?: "ccw_sms",
              captcha?: CaptchaPayload,
          ) => Promise<Res>;
          getOauthToken: (code: string) => Promise<Res<Extra>>;
          loginByPassword: (
              loginKey: string,
              password: string,
              reqExtra?: ReqExtra,
          ) => Promise<Res<Extra>>;
          loginByPhone: (
              phone: string,
              code: string,
              reqExtra?: ReqExtra,
              countryCode?: string,
              ruleCode?: "ccw_sms",
              scene?: "loginbyPhone",
          ) => Promise<Res<Extra>>;
          logout: () => Promise<null>;
          logoutBySession: (sessionId: number) => Promise<boolean>;
          oauthAuthorize: (state: string) => Promise<string>;
          touchSession: (token?: string) => Promise<TouchSessionSuccess>;
      }
      • createSmsCaptcha: (
            recipient: string,
            scene?: "loginbyPhone",
            countryCode?: string,
            ruleCode?: "ccw_sms",
            captcha?: CaptchaPayload,
        ) => Promise<Res>
      • getOauthToken: (code: string) => Promise<Res<Extra>>
      • loginByPassword: (loginKey: string, password: string, reqExtra?: ReqExtra) => Promise<Res<Extra>>
      • loginByPhone: (
            phone: string,
            code: string,
            reqExtra?: ReqExtra,
            countryCode?: string,
            ruleCode?: "ccw_sms",
            scene?: "loginbyPhone",
        ) => Promise<Res<Extra>>
      • logout: () => Promise<null>
      • logoutBySession: (sessionId: number) => Promise<boolean>
      • oauthAuthorize: (state: string) => Promise<string>
      • touchSession: (token?: string) => Promise<TouchSessionSuccess>