import { GraphQLMock } from './GraphQLMock.js'; import { LinksAndCommentsMock } from './LinksAndCommentsMock.js'; import { SubredditMock } from './SubredditMock.js'; import { UserMock } from './UserMock.js'; /** * RedditPluginMock serves as the registry for all Reddit backend plugin mocks. * * It acts as the "Server" side of the mock infrastructure. When the `RedditClient` (client-side) * makes an RPC call (e.g. `reddit.getPostById()`), it eventually routes to a plugin method on the backend. * * This class intercepts those plugin requests. * * - If a mock implementation exists (e.g. `Users`), it routes the request to that mock. * - If no implementation exists (e.g. `Subreddits`), it returns a proxy that throws a helpful error * when any method is called, informing the user that the specific plugin is not yet mocked. * * This "partial implementation" strategy allows us to incrementally add support for more Reddit APIs * without breaking the entire harness or requiring a full implementation of every Reddit service upfront. */ export declare class RedditPluginMock { readonly users: UserMock; readonly linksAndComments: LinksAndCommentsMock; readonly subreddits: SubredditMock; readonly graphQL: GraphQLMock; readonly flair: unknown; readonly listings: unknown; readonly moderation: unknown; readonly modNote: unknown; readonly newModmail: unknown; readonly privateMessages: unknown; readonly widgets: unknown; readonly wiki: unknown; constructor(); /** * Returns all registered plugin mocks keyed by their proto service names. You should likely * never need to use this method, for internal use only! */ getPluginRegistrations(): { "devvit.plugin.redditapi.flair.Flair": unknown; "devvit.plugin.redditapi.graphql.GraphQL": import("./GraphQLMock.js").GraphQLPluginMock; "devvit.plugin.redditapi.linksandcomments.LinksAndComments": import("./LinksAndCommentsMock.js").LinksAndCommentsPluginMock; "devvit.plugin.redditapi.listings.Listings": unknown; "devvit.plugin.redditapi.moderation.Moderation": unknown; "devvit.plugin.redditapi.modnote.ModNote": unknown; "devvit.plugin.redditapi.newmodmail.NewModmail": unknown; "devvit.plugin.redditapi.privatemessages.PrivateMessages": unknown; "devvit.plugin.redditapi.subreddits.Subreddits": import("./SubredditMock.js").SubredditPluginMock; "devvit.plugin.redditapi.users.Users": import("./UserMock.js").UserPluginMock; "devvit.plugin.redditapi.widgets.Widgets": unknown; "devvit.plugin.redditapi.wiki.Wiki": unknown; }; private _createUnimplementedPluginService; } //# sourceMappingURL=RedditPluginMock.d.ts.map