/** * #common_msg.ts * * Code generated by ts-proto. DO NOT EDIT. * @packageDocumentation */ import type { Any } from "../../../../google/protobuf/any.js"; import type { Scope } from "../../../../reddit/devvit/app_permission/v1/app_permission.js"; import type { User } from "../../../reddit/user.js"; /** * Label that can be applied to a highlighted post in a subreddit. * This enum should map to the equivalent in GraphQL: https://github.snooguts.net/reddit/reddit-service-graphql/blob/master/graphql-py/graphql_api/lib/community_eng/types/highlighted_post.py#L18 */ export declare enum HighlightedPostLabel { /** HIGHLIGHTED_POST_LABEL_UNSPECIFIED - Post is highlighted without a label. */ HIGHLIGHTED_POST_LABEL_UNSPECIFIED = 0, /** ANNOUNCEMENT - Post is highlighted as an announcement. */ ANNOUNCEMENT = 1, /** EVENT - Post is highlighted as an event. */ EVENT = 2, /** MEGATHREAD - Post is highlighted as a megathread. */ MEGATHREAD = 3, /** * SHOW_POST_FLAIR - Post is highlighted with its flair as the label. * If the post doesn't have flair, this is the same as UNSPECIFIED */ SHOW_POST_FLAIR = 4, UNRECOGNIZED = -1 } /** Indicates who the request should be made on behalf of. Currently, only 'APP' or 'USER' types are supported. */ export declare enum RunAs { APP = 0, USER = 1, UNSPECIFIED = 2, UNRECOGNIZED = -1 } export declare enum GalleryMediaStatus { GALLERY_MEDIA_STATUS_UNSPECIFIED = 0, GALLERY_MEDIA_STATUS_VALID = 1, GALLERY_MEDIA_STATUS_FAILED = 2, UNRECOGNIZED = -1 } /** A Listing is a paginated list of Things such as Subreddits, Posts, or Comments */ export type Listing = { /** String value: "Listing" */ kind: string; /** Contents of the listing */ data?: Listing_ListingData | undefined; }; export type Listing_ListingData = { /** * If present, use this as the `after` parameter when calling the same * API again to fetch the next page */ after?: string | undefined; /** * If present, use this as the `before` parameter when calling the same * API again to fetch the previous page */ before?: string | undefined; /** Contents of the current page of the listing */ children: WrappedRedditObject[]; /** * Number of objects in `children` * Note: Only counts immediate entries in `children` and does not count * nested objects such as comment trees */ dist?: number | undefined; }; /** A WrappedRedditObject couples a RedditObject with a type identifier */ export type WrappedRedditObject = { /** Thing ID prefix to identify what kind of object this is */ kind: string; /** Object data of type `kind` */ data?: RedditObject | undefined; }; export type JsonRedditObjects = { json?: JsonRedditObjects_JsonType | undefined; }; export type JsonRedditObjects_JsonType = { errors: Any[]; data?: JsonRedditObjects_JsonType_JsonData | undefined; }; export type JsonRedditObjects_JsonType_JsonData = { things: WrappedRedditObject[]; }; /** * A RedditObject can either be a Post (t3) or a Comment (t1) * * Note: Will be replaced by the discrete {@link Comment} and {@link Post} types */ export type RedditObject = { /** * List of awards this object has received * Note: not yet parsed by RedditAPI * @ignore */ allAwardings: Any[]; /** If `true` this has been approved by a moderator */ approved?: boolean | undefined; /** Timestamp when this was approved */ approvedAtUtc?: number | undefined; /** Username of the moderator that manually approved this object */ approvedBy?: string | undefined; /** If `true`, this object has been archived */ archived?: boolean | undefined; associatedAward?: string | undefined; /** * The username of the author of this object * @example "spez" */ author?: string | undefined; /** * Flair background color as a hex color string (# prefixed) * @example "#FF4500" */ authorFlairBackgroundColor?: string | undefined; /** * Custom CSS classes from the subreddit's stylesheet * to apply to the flair if rendered as HTML */ authorFlairCssClass?: string | undefined; /** * RichText representation of the author's flair * Note: incorrectly typed and not guaranteed to be useful */ authorFlairRichtext: RedditObject_AuthorFlairRichText[]; /** * Flair template ID to use when rendering this flair * @see Use {@link Flair.FlairList} to get flair templates for a subreddit * @example "813b473a-4d74-4933-ba79-a7f1b8b285ef" */ authorFlairTemplateId?: string | undefined; /** Plain text representation of the flair RichText */ authorFlairText?: string | undefined; /** One of: "light", "dark" */ authorFlairTextColor?: string | undefined; /** One of: "text", "richtext" */ authorFlairType?: string | undefined; /** * Thing ID of the author * @example "t2_abc123" */ authorFullname?: string | undefined; /** If `true`, the current user has blocked the author */ authorIsBlocked?: boolean | undefined; /** * @deprecated * * @deprecated */ authorPatreonFlair?: boolean | undefined; /** If `true`, this author is subscribed to Reddit Premium */ authorPremium?: boolean | undefined; /** List of usernames that have given awards to this object */ awarders: string[]; /** Timestamp when this was banned */ bannedAtUtc?: number | undefined; /** Username of the moderator that banned this object */ bannedBy?: string | undefined; /** Markdown body text if this is a Comment */ body?: string | undefined; /** Pre-rendered HTML representing the Markdown or RichText body of a Comment */ bodyHtml?: string | undefined; /** If `true`, the current user can award this object */ canGild?: boolean | undefined; /** If `true`, the current user has adequate permission to moderate this object */ canModPost?: boolean | undefined; /** * If `true`, this Comment is collapsed by default * @see {@link collapsed_reason} and {@link collapsed_reason_code} to determine why */ collapsed?: boolean | undefined; /** Alias for collapsed_reason_code = "CROWD_CONTROL" */ collapsedBecauseCrowdControl?: boolean | undefined; /** User-friendly string explaining why this Comment is collapsed */ collapsedReason?: string | undefined; /** One of: "LOW_SCORE", "BLOCKED_AUTHOR", "POTENTIALLY_TOXIC", "CROWD_CONTROL", "DELETED" */ collapsedReasonCode?: string | undefined; commentType?: string | undefined; /** If set to `1` this Comment is considered controversial */ controversiality?: number | undefined; /** * Timestamp when this object was created * @see Alias for {@link created_utc} */ created?: number | undefined; /** * Timestamp when this object was created * @see Alias for {@link created} */ createdUtc?: number | undefined; /** If `true`, an admin has distinguished this object */ distinguished?: string | undefined; /** * Previously displayed the number of downvotes this object received * @deprecated Always returns 0 */ downs?: number | undefined; /** If `true`, the body of this object has been edited since it was posted */ edited?: boolean | undefined; /** * Number of times this object has received a Gold award * @deprecated * * @deprecated */ gilded?: number | undefined; /** * Map of gold awards to the number of times received * Note: Incorrectly typed and may be unusable. * @deprecated * * @deprecated */ gildings?: Any | undefined; /** * Thing ID for this Post or Comment without leading thing ID prefix * @example "abc123" // for: t1_abc123 */ id?: string | undefined; /** Whether or not a moderator has disabled reports for this object */ ignoreReports?: boolean | undefined; /** If `true`, this object was submitted by the current user */ isSubmitter?: boolean | undefined; /** * Upvote status where: * - `true`: Upvote * - `null`: No vote * - `false`: Downvote */ likes?: boolean | undefined; /** * Thing ID of the parent Post for this Comment * @example "t3_abc123" */ linkId?: string | undefined; /** If `true`, this object has been locked and replies are disabled */ locked?: boolean | undefined; /** Notes added by the moderator when a removal reason chosen */ modNote?: string | undefined; /** Moderator username that chose the reason for the object to be removed */ modReasonBy?: string | undefined; /** The title of the removal reason chosen by the moderator */ modReasonTitle?: string | undefined; /** * Thing ID for this object * @example "t1_abc123" */ name?: string | undefined; noFollow?: boolean | undefined; /** Total number of reports that have been filed against this object */ numReports?: number | undefined; /** * Thing ID of the parent object immediately above this object in the tree * Note: If this is a top-level comment the parent would be the Post (t3) * but if it was a reply to another comment the parent would be the * Comment (t1) being replied to * @see {@link link_id} to skip to the root of the comment tree * @example "t1_abc123" */ parentId?: string | undefined; /** * The path of this object relative to www.reddit.com * @example "/r/aww/comments/ze7u6n/oc_just_woke_up_from_his_nap/" */ permalink?: string | undefined; removalReason?: string | undefined; /** If `true`, the object has been removed by a moderator */ removed?: boolean | undefined; /** * Comments made directly to this object * Note: Incorrect type. Currently unusable. * @deprecated Please use replyList instead * * @deprecated */ replies?: string | undefined; reportReasons?: Array | undefined; /** * RichText editor mode * One of: "richtext", "markdown" */ rteMode?: string | undefined; /** If `true`, the current user has saved this object to their profile */ saved?: boolean | undefined; /** Current total score for this object */ score?: number | undefined; /** If `true`, the `score` for this object is not visible to the current user */ scoreHidden?: boolean | undefined; /** If `true` the current user will receive notifications when someone replies to this object */ sendReplies?: boolean | undefined; /** If `true` this has been flagged as spam by a moderator */ spam?: boolean | undefined; /** If `true` this should be presented before others relative to its type */ stickied?: boolean | undefined; /** * Name of the Subreddit that owns this object * @example "AskReddit" */ subreddit?: string | undefined; /** * Thing ID of the Subreddit that owns this object * @example "t5_abc123" */ subredditId?: string | undefined; /** * Name of the Subreddit that owns this object prefixed with "r/" * @example "r/aww" */ subredditNamePrefixed?: string | undefined; /** * One of: "public", "private", "restricted", "gold_only", "gold_restricted", * "archived", "user", "employees_only" */ subredditType?: string | undefined; /** One of: "ACTIVE", "INACTIVE" */ topAwardedType?: string | undefined; /** Total count of awards this object has received */ totalAwardsReceived?: number | undefined; treatmentTags: Any[]; unrepliableReason?: string | undefined; /** Alias for score */ ups?: number | undefined; /** The depth of this object relative to the Listing */ depth?: number | undefined; /** If this is a Comment, the title of the parent Post */ linkTitle?: string | undefined; /** If this is a Comment, the author of the parent Post */ linkAuthor?: string | undefined; /** Total number of comments this object has received */ numComments?: number | undefined; /** If `true`, mark as not-safe-for-work */ over18?: boolean | undefined; /** * The path of this object relative to www.reddit.com * @example "/r/aww/comments/ze7u6n/oc_just_woke_up_from_his_nap/" */ linkPermalink?: string | undefined; /** Whether this Thing has been */ quarantine?: boolean | undefined; /** If this is a Comment, the URL associated with the parent Post */ linkUrl?: string | undefined; /** Markdown body text if this is a Text Post */ selftext?: string | undefined; /** Pre-rendered HTML representing the Markdown or RichText body of a Text Post */ selftextHtml?: string | undefined; /** URL of a scaled down preview image of the media in this object */ thumbnail?: string | undefined; /** Width of the thumbnail image, in pixels */ thumbnailWidth?: number | undefined; /** Height of the thumbnail image, in pixels */ thumbnailHeight?: number | undefined; /** Title of the Post if it is a Post */ title?: string | undefined; /** * If this is a Post, contains one of the following: * - Empty if this is a Text Post * - The URL submitted by the user if this is a Link Post * - The full-size image or video URL if this is an Image, Video, or VideoGif Post */ url?: string | undefined; /** * The name of the Subreddit if this object represents a Subreddit * * Note: This object is intended for Post and Comment data but * Listings.Info() returns a ListingObject which can only contain * WrappedRedditObject data, though that endpoint is able to * fetch Subreddit data if a t5_ ID is provided as an argument. */ displayName?: string | undefined; /** The list of moderator permissions for a user */ modPermissions: string[]; /** Number of replies intended for More data */ count?: number | undefined; /** Ids of children intended for More data (without leading thing ID prefix) */ children?: Array | undefined; /** List of replies if this is a comment */ replyList?: Listing | undefined; /** If `true` this post has been hidden */ hidden?: boolean | undefined; /** * Post Flair aka Link Flair * Flair background color as a hex color string (# prefixed) * @example "#FF4500" */ linkFlairBackgroundColor?: string | undefined; /** * Custom CSS classes from the subreddit's stylesheet * to apply to the flair if rendered as HTML */ linkFlairCssClass?: string | undefined; /** RichText representation of the post's flair */ linkFlairRichtext: RedditObject_LinkFlairRichText[]; /** * Flair template ID to use when rendering this flair * @see Use {@link Flair.FlairList} to get flair templates for a subreddit * @example "813b473a-4d74-4933-ba79-a7f1b8b285ef" */ linkFlairTemplateId?: string | undefined; /** Plain text representation of the flair RichText */ linkFlairText?: string | undefined; /** One of: "light", "dark" */ linkFlairTextColor?: string | undefined; /** One of: "text", "richtext" */ linkFlairType?: string | undefined; /** Information about the media embedded to the post */ secureMedia?: RedditObject_SecureMedia | undefined; /** If `true`, hide the contents of this post until the user explicitly opens it */ spoiler: boolean; /** List of reports submitted by moderators against this object */ modReports: Array[]; /** List of reports submitted by users against this object */ userReports: Array[]; /** Who removed this object (username) */ removedBy?: string | undefined; /** * Returns information about who/what removed this object. It will return one of the following: * - "anti_evil_ops": object is removed by a aeops member * - "author": object is removed by author of the post * - "automod_filtered": object is filtered by automod * - "community_ops": object is removed by a community team member * - "content_takedown": object is removed due to content violation * - "copyright_takedown": object is removed due to copyright violation * - "deleted": object is deleted * - "moderator": object is removed by a mod of the sub * - "reddit": object is removed by anyone else * - None: object is not removed */ removedByCategory?: string | undefined; /** List of media (images or gifs) in a gallery post */ gallery: RedditObject_GalleryMedia[]; /** Poll data for posts that contain a poll. Only present when the post is a poll. */ pollData?: PollData | undefined; }; /** * oEmbed is a format for allowing an embedded representation of a URL on third party sites. * The simple API allows a website to display embedded content (such as photos or videos) * when a user posts a link to that resource, without having to parse the resource directly. * See: https://oembed.com/ */ export type RedditObject_OEmbed = { /** The resource type. Valid values, along with value-specific parameters, are described below. E.g. "video" */ type: string; /** A text title, describing the resource. */ title?: string | undefined; /** A URL for the author/owner of the resource. E.g. "YouTube" */ providerName?: string | undefined; /** The name of the resource provider. E.g https://www.youtube.com/ */ providerUrl?: string | undefined; /** The oEmbed version number. This must be 1.0. */ version: string; /** The width of the optional thumbnail in pixels */ thumbnailWidth?: number | undefined; /** The height of the optional thumbnail in pixels */ thumbnailHeight?: number | undefined; /** A URL to a thumbnail image representing the resource. */ thumbnailUrl?: string | undefined; /** The HTML required to embed a video player. The HTML should have no padding or margins. Consumers may wish to load the HTML in an off-domain iframe to avoid XSS vulnerabilities. */ html: string; /** The width in pixels required to display the HTML. */ height?: number | undefined; /** The height in pixels required to display the HTML. */ width?: number | undefined; /** A URL for the author/owner of the resource. E.g. https://www.youtube.com/@Reddit */ authorUrl?: string | undefined; /** The name of the author/owner of the resource. E.g. "Reddit" */ authorName?: string | undefined; }; /** Contains the data for a video hosted on Reddit that is in a post */ export type RedditObject_RedditVideo = { /** The bitrate of the video in kilobits per second. E.g. 450 */ bitrateKbps?: number | undefined; /** The URL to the DASH playlist file. E.g. "https://v.redd.it/abc123/DASHPlaylist.mpd" */ dashUrl?: string | undefined; /** The duration of the video in seconds. E.g. 30 */ duration?: number | undefined; /** The direct URL to the video. E.g. "https://v.redd.it/abc123/DASH_1080.mp4?source=fallback" */ fallbackUrl?: string | undefined; /** The height of the video in pixels. E.g. 1080 */ height?: number | undefined; /** The URL to the HLS playlist file. E.g. "https://v.redd.it/abc123/HLSPlaylist.m3u8" */ hlsUrl?: string | undefined; /** If `true`, the video is a GIF */ isGif?: boolean | undefined; /** The URL to the scrubber media file. E.g. "https://v.redd.it/abc123/DASH_96.mp4" */ scrubberMediaUrl?: string | undefined; /** The status of the transcoding process. E.g. "completed" */ transcodingStatus?: string | undefined; /** The width of the video in pixels. E.g. 1920 */ width?: number | undefined; }; /** RichText document for author flair */ export type RedditObject_AuthorFlairRichText = { /** enum of element types. e.g. emoji or text */ e?: string | undefined; /** text to show up in the flair, e.g. "power poster" */ t?: string | undefined; /** emoji references, e.g. ":rainbow:" */ a?: string | undefined; /** url string, e.g. "https://reddit.com/" */ u?: string | undefined; }; /** RichText document for post flair */ export type RedditObject_LinkFlairRichText = { /** enum of element types. e.g. emoji or text */ e?: string | undefined; /** text to show up in the flair, e.g. "Need Advice" */ t?: string | undefined; /** emoji references, e.g. ":rainbow:" */ a?: string | undefined; /** url string, e.g. "https://reddit.com/" */ u?: string | undefined; }; /** Secure Media object */ export type RedditObject_SecureMedia = { /** The type of the Secure Media (e.g. "youtube.com"). Populated when 'oembed' is present. */ type: string; /** Populated when the post media is hosted on a third-party site. */ oembed?: RedditObject_OEmbed | undefined; /** Populated when the post media is a video hosted on Reddit. */ redditVideo?: RedditObject_RedditVideo | undefined; }; export type RedditObject_GalleryMedia = { /** The URL of the media */ url: string; /** The width of the media in pixels */ width: number; /** The height of the media in pixels */ height: number; /** Status of the media upload (e.g. "valid", "failed") */ status: GalleryMediaStatus; }; /** Poll option in a post poll. */ export type PollOption = { /** * ID of the poll option. * @example "32310965" */ id: string; /** * The text of the poll option. * @example "Ice Cream" */ text: string; /** The number of votes the poll option has received. */ voteCount: number; }; /** Poll data on a post. */ export type PollData = { /** Options in the poll. */ options: PollOption[]; /** Total number of votes cast in the poll. */ totalVoteCount: number; /** ID of the poll option selected by the authenticated user, if any. */ userSelection?: string | undefined; /** Time the poll voting closes, in Unix milliseconds. */ votingEndTimestamp: number; }; /** * @privateRemarks * TODO: remove in favor of Subreddit * A SubredditObject represents a Subreddit (t5) */ export type SubredditObject = { /** * @deprecated * * @deprecated */ defaultSet?: boolean | undefined; /** If `true`, the current user has posted */ userIsContributor?: boolean | undefined; /** * Banner image for old.reddit.com * @deprecated * * @deprecated */ bannerImg?: string | undefined; /** If `true`, crowd control is enabled */ restrictPosting?: boolean | undefined; /** If `true`, the current user is banned */ userIsBanned?: boolean | undefined; /** If `true`, users are given the option to write a custom explanation when reporting content */ freeFormReports?: boolean | undefined; /** URL to the custom icon as configured from www.reddit.com */ communityIcon?: string | undefined; /** * If `true`, show thumbnail images of content is enabled on old.reddit.com * @deprecated * * @deprecated */ showMedia?: boolean | undefined; /** * @deprecated * * @deprecated */ iconColor?: string | undefined; /** * Permanent identifier * @example "AskReddit" */ displayName?: string | undefined; /** * URL to the custom header icon as configured from old.reddit.com * @deprecated * * @deprecated */ headerImg?: string | undefined; /** * Current, editable name * @example "Ask Reddit Something" */ title?: string | undefined; /** Community coin balance */ coins?: number | undefined; /** * @deprecated * * @deprecated */ previousNames: string[]; /** If `true`, this community contains content deemed not-safe-for-work (NSFW) */ over18?: boolean | undefined; /** * Resolution of icon_img * Format: [width, height] * @deprecated * * @deprecated */ iconSize: number[]; /** * Theme base color as a # prefixed hex color, configured on www.reddit.com * @example "#FF4500" */ primaryColor?: string | undefined; /** * URL to the custom community icon as configured from old.reddit.com as the mobile icon image * Note: used as a fallback if community_icon_img is not set * @deprecated * * @deprecated */ iconImg?: string | undefined; /** * Sidebar description displayed on old.reddit.com * @deprecated * * @deprecated */ description?: string | undefined; /** * Custom label for the Submit Link button when viewed on old.reddit.com * @deprecated * * @deprecated */ submitLinkLabel?: string | undefined; /** * Resolution of header_img * Note: Incorrectly typed and unusable. * @deprecated * * @deprecated */ headerSize?: string | undefined; /** If `true`, crowd control is currently enabled */ restrictCommenting?: boolean | undefined; /** Current count of subscribed users */ subscribers?: number | undefined; /** * Custom label for the Submit Text Post button when viewed on old.reddit.com * @deprecated */ submitTextLabel?: string | undefined; /** * If `true`, this Subreddit is using the default icon * @deprecated * * @deprecated */ isDefaultIcon?: boolean | undefined; /** * Where flair should be shown relative to the Post title on old.reddit.com * One of: "left", "right", "" * @deprecated * * @deprecated */ linkFlairPosition?: string | undefined; /** * Permanent identifier with the leading "r/" prefix * @example "r/AskReddit" */ displayNamePrefixed?: string | undefined; /** * Mobile theme color as configured on old.reddit.com * @deprecated * * @deprecated */ keyColor?: string | undefined; /** * Thing ID for this object * @example "t5_abc123" */ name?: string | undefined; /** * If `true`, this Subreddit is using the default banner without customizing it * * @deprecated */ isDefaultBanner?: boolean | undefined; /** * The path of this object relative to www.reddit.com * @example "/r/AskReddit/" */ url?: string | undefined; /** If `true`, this Subreddit has been put in quarantine for breaking site rules */ quarantine?: boolean | undefined; /** * Resolution of banner_img * Format: [width, height] * @deprecated * * @deprecated */ bannerSize: number[]; /** If `true`, the current user is a moderator */ userIsModerator?: boolean | undefined; /** If `true`, users can join */ acceptFollowers?: boolean | undefined; /** Plain text description */ publicDescription?: string | undefined; /** If `true`, Post Flair is enabled */ linkFlairEnabled?: boolean | undefined; /** If `true`, users may not request access to join */ disableContributorRequests?: boolean | undefined; /** * One of: "public", "private", "restricted", "gold_only", "gold_restricted", * "archived", "user", "employees_only" */ subredditType?: string | undefined; /** If `true`, the current user has joined */ userIsSubscriber?: boolean | undefined; /** Pre-rendered HTML representing public_description */ publicDescriptionHtml?: string | undefined; /** * Thing ID without leading thing ID prefix * @example "abc123" // for: t5_abc123 */ id?: string | undefined; /** If `true`, the current user may not send messages to moderators */ userIsMuted: boolean; }; export type JsonStatus = { json?: JsonStatus_JsonErrorType | undefined; }; export type JsonStatus_JsonErrorType = { errors: string[]; }; export type WrappedUserObject = { id?: string | undefined; data?: User | undefined; }; /** * Method extension for specifying how to call a Reddit API endpoint. These * options are used for generating API client code. */ export type ApiClientConfig = { /** 'GET', 'POST', 'PUT', 'DELETE', etc. */ method: string; /** * The path of the API endpoint. Placeholders for variables MUST match names of fields in the input message. * For example: * "/r/{subreddit}/api/delete_sr_img" * Only works if the input message has a string field named 'subreddit'. */ path: string; requestBodyType: ApiClientConfig_BodyType; /** * If set to true, the parameter `api_type=json` will be sent to the reddit API with this request. * Note: in the current implementation, this only works for bodyType=FORM_SNAKE. */ enforceJson: boolean; /** * Some requests involve sending a specific `kind` field that's not otherwise part of the * request message. If this field is specified, that will be included in the request. */ requestKindValue: string; /** * If set, the thing specified in the input message's field specified by `validate_content_id_context` * must belong to the subreddit in the call's metadata before the call is allowed to proceed. * * For example, setting: * option (devvit.plugin.redditapi.common.api_client_config).validate_content_id_context = 'id'; * will test that the input message's `id` field contains a thing (post/comment) that belongs * to the subreddit in the call's metadata. */ validateContentIdContext: string; /** * If set, the subreddit specified in the input message's field specified by `validate_subreddit_context` * must match the subreddit in the call's metadata before the call is allowed to proceed. * * For example, setting: * option (devvit.plugin.redditapi.common.api_client_config).validate_subreddit_context = 'subreddit'; * will test that the input message's `subreddit` field contains a subreddit *name* matches the subreddit * in the call's metadata. */ validateSubredditContext: string; /** * If set, the generated code should invoke the specified method to parse the response, rather * than using the default protojson rehydration. * The method specified signature looks like: * func fixMethodNameResponse([]bytes) (*ResponseType, error) */ useCustomResponseParser: boolean; /** * For methods that accept a `run_as` field, this specifies the scopes that the user must authorize * in order to call the method with runAs="USER". */ runAsUserScopes: Scope[]; /** For methods that implicitly run as user. */ alwaysRunAsUser: boolean; }; /** For methods with a request body, this specifies how the request body should be serialized. */ export declare enum ApiClientConfig_BodyType { NONE = 0, JSON_CAMEL = 1, JSON_SNAKE = 2, FORM_CAMEL = 3, FORM_SNAKE = 4, UNRECOGNIZED = -1 } /** Represents data on the user's content submission */ export type UserGeneratedContent = { /** The text body of the content */ text: string; /** The imageUrls attached to the content, if any */ imageUrls: string[]; }; //# sourceMappingURL=common_msg.d.ts.map