import type { AboutWhereRequest, AddSubredditRuleRequest, BasicSearchRequest, BasicSubredditRequest, BasicWhereRequest, DeleteSrImgRequest, GetHighlightedPostsRequest, GetHighlightedPostsResponse, RemoveSubredditRuleRequest, ReorderHighlightedPostsRequest, ReorderHighlightedPostsResponse, ReorderSubredditRulesRequest, SearchRedditNamesResponse, SearchSubredditsResponse, SiteAdminRequest, SubmitTextResponse, SubredditAboutEditRequest, SubredditAboutEditResponse, SubredditAboutResponse, SubredditAboutResponse_AboutData, SubredditAboutRulesResponse, SubredditAboutTrafficResponse, SubredditAddRemovalReasonRequest, SubredditAddRemovalReasonResponse, SubredditAutocompleteRequest, SubredditAutocompleteResponse, SubredditDeleteRemovalReasonRequest, SubredditDeleteRemovalReasonResponse, SubredditGetRemovalReasonsRequest, SubredditGetRemovalReasonsResponse, SubredditPostRequirementsResponse, SubredditsSearchRequest, SubredditsSearchResponse, SubredditStylesheetRequest, SubredditUpdateRemovalReasonRequest, SubredditUpdateRemovalReasonResponse, SubscribeRequest, UpdateSubredditRuleRequest, UploadSrImgRequest, UploadSrImgResponse, UserSearchResponse, UsersSearchRequest } from '@devvit/protos/json/devvit/plugin/redditapi/subreddits/subreddits_msg.js'; import type { StickyRequest } from '@devvit/protos/json/devvit/plugin/redditapi/subreddits/subreddits_msg.js'; import type { Empty } from '@devvit/protos/json/google/protobuf/empty.js'; import type { StringValue } from '@devvit/protos/json/google/protobuf/wrappers.js'; import type { Metadata } from '@devvit/protos/lib/Types.js'; import type { JsonStatus, Listing } from '@devvit/protos/types/devvit/plugin/redditapi/common/common_msg.js'; import type { StickyResponse } from '@devvit/protos/types/devvit/plugin/redditapi/subreddits/subreddits_msg.js'; import type { Subreddits } from '@devvit/protos/types/devvit/plugin/redditapi/subreddits/subreddits_svc.js'; import type { T5 } from '@devvit/shared'; import type { PluginMock } from '@devvit/shared-types/test/index.js'; type SubredditDisplayName = string; type SubredditStore = { subreddits: Map; }; export declare class SubredditPluginMock implements Subreddits { private readonly _store; constructor(store: SubredditStore); AboutWhere(_request: AboutWhereRequest, _metadata?: Metadata): Promise; DeleteSrBanner(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; DeleteSrHeader(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; DeleteSrIcon(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; DeleteSrImg(_request: DeleteSrImgRequest, _metadata?: Metadata): Promise; GetHighlightedPosts(_request: GetHighlightedPostsRequest, _metadata?: Metadata): Promise; ReorderHighlightedPosts(_request: ReorderHighlightedPostsRequest, _metadata?: Metadata): Promise; SearchRedditNames(_request: BasicSearchRequest, _metadata?: Metadata): Promise; SearchSubreddits(_request: BasicSearchRequest, _metadata?: Metadata): Promise; Sidebar(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; SiteAdmin(_request: SiteAdminRequest, _metadata?: Metadata): Promise; Sticky(_request: StickyRequest, _metadata?: Metadata): Promise; SubmitText(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; SubredditAbout(request: BasicSubredditRequest, _metadata?: Metadata): Promise; SubredditAboutEdit(_request: SubredditAboutEditRequest, _metadata?: Metadata): Promise; AddSubredditRule(_request: AddSubredditRuleRequest, _metadata?: Metadata): Promise; SubredditAboutRules(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; SubredditAboutTraffic(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; SubredditAddRemovalReason(_request: SubredditAddRemovalReasonRequest, _metadata?: Metadata): Promise; SubredditAutocomplete(_request: SubredditAutocompleteRequest, _metadata?: Metadata): Promise; SubredditGetRemovalReasons(_request: SubredditGetRemovalReasonsRequest, _metadata?: Metadata): Promise; SubredditUpdateRemovalReason(_request: SubredditUpdateRemovalReasonRequest, _metadata?: Metadata): Promise; SubredditDeleteRemovalReason(_request: SubredditDeleteRemovalReasonRequest, _metadata?: Metadata): Promise; RemoveSubredditRule(_request: RemoveSubredditRuleRequest, _metadata?: Metadata): Promise; ReorderSubredditRules(_request: ReorderSubredditRulesRequest, _metadata?: Metadata): Promise; UpdateSubredditRule(_request: UpdateSubredditRuleRequest, _metadata?: Metadata): Promise; SubredditPostRequirements(_request: BasicSubredditRequest, _metadata?: Metadata): Promise; SubredditStylesheet(_request: SubredditStylesheetRequest, _metadata?: Metadata): Promise; SubredditsMineWhere(_request: BasicWhereRequest, _metadata?: Metadata): Promise; SubredditsSearch(_request: SubredditsSearchRequest, _metadata?: Metadata): Promise; SubredditsWhere(_request: BasicWhereRequest, _metadata?: Metadata): Promise; Subscribe(_request: SubscribeRequest, _metadata?: Metadata): Promise; UploadSrImg(_request: UploadSrImgRequest, _metadata?: Metadata): Promise; UsersSearch(_request: UsersSearchRequest, _metadata?: Metadata): Promise; UsersWhere(_request: BasicWhereRequest, _metadata?: Metadata): Promise; } export declare class SubredditMock implements PluginMock { readonly plugin: SubredditPluginMock; private readonly _store; constructor(); /** * Helper to seed the mock database with a Subreddit. * This allows tests to set up state before calling `reddit.getSubredditByName`. */ addSubreddit(data: Partial & { id: T5; displayName: string; }): SubredditAboutResponse_AboutData; } export {}; //# sourceMappingURL=SubredditMock.d.ts.map