import type { OnAccountDelete, OnAccountDeleteDefinition, OnAppInstall, OnAppInstallDefinition, OnAppUpgrade, OnAppUpgradeDefinition, OnCommentApprove, OnCommentApproveDefinition, OnCommentCreate, OnCommentCreateDefinition, OnCommentDelete, OnCommentDeleteDefinition, OnCommentReport, OnCommentReportDefinition, OnCommentSubmit, OnCommentSubmitDefinition, OnCommentUpdate, OnCommentUpdateDefinition, OnModAction, OnModActionDefinition, OnModMail, OnModMailDefinition, OnPostApprove, OnPostApproveDefinition, OnPostCreate, OnPostCreateDefinition, OnPostDelete, OnPostDeleteDefinition, OnPostFlairUpdate, OnPostFlairUpdateDefinition, OnPostNsfwUpdate, OnPostNsfwUpdateDefinition, OnPostReport, OnPostReportDefinition, OnPostSpoilerUpdate, OnPostSpoilerUpdateDefinition, OnPostSubmit, OnPostSubmitDefinition, OnPostUpdate, OnPostUpdateDefinition, OnSubredditSubscribe, OnSubredditSubscribeDefinition } from '@devvit/protos/types/devvit/actor/automation/v1alpha/event_handlers.js';
import type { Bot, BotDefinition } from '@devvit/protos/types/devvit/actor/bot/bot.js';
import type { Hello, HelloDefinition } from '@devvit/protos/types/devvit/actor/hello/hello.js';
import type { Producer, ProducerDefinition } from '@devvit/protos/types/devvit/actor/producer/producer.js';
import type { ContextAction, ContextActionDefinition } from '@devvit/protos/types/devvit/actor/reddit/context_action.js';
import type { PostFilter, PostFilterDefinition } from '@devvit/protos/types/devvit/actor/reddit/post_filter.js';
import type { SchedulerHandler, SchedulerHandlerDefinition } from '@devvit/protos/types/devvit/actor/scheduler/handler.js';
import type { AppSettings, AppSettingsDefinition } from '@devvit/protos/types/devvit/actor/settings/v1alpha/app_settings.js';
import type { InstallationSettings, InstallationSettingsDefinition } from '@devvit/protos/types/devvit/actor/settings/v1alpha/installation_settings.js';
import type { InstanceSettings, InstanceSettingsDefinition } from '@devvit/protos/types/devvit/actor/settings/v1alpha/instance_settings.js';
import type { Streams, StreamsDefinition } from '@devvit/protos/types/devvit/actor/test/streams.js';
import type { WrapperTypes, WrapperTypesDefinition } from '@devvit/protos/types/devvit/actor/test/wrappertypes.js';
import type { UserConfigurable, UserConfigurableDefinition } from '@devvit/protos/types/devvit/actor/user_configurable/user_configurable.js';
import type { DevvitProfiler, DevvitProfilerDefinition } from '@devvit/protos/types/devvit/debug/v1alpha/debug.js';
import type { Realtime, RealtimeDefinition } from '@devvit/protos/types/devvit/events/v1alpha/realtime.js';
import type { CustomPostSnapshotResolver, CustomPostSnapshotResolverDefinition } from '@devvit/protos/types/devvit/gateway/custom_post_snapshot.js';
import type { SubredditMetadataResolver, SubredditMetadataResolverDefinition } from '@devvit/protos/types/devvit/gateway/resolvers.js';
import type { CacheUtils, CacheUtilsDefinition, ModInviteUtils, ModInviteUtilsDefinition } from '@devvit/protos/types/devvit/gateway/utils/v1alpha/utilities.js';
import type { Triggers, TriggersDefinition } from '@devvit/protos/types/devvit/gateway/v1alpha/triggers.js';
import type { AssetResolver, AssetResolverDefinition } from '@devvit/protos/types/devvit/plugin/assetresolver/assetresolver.js';
import type { Builder, BuilderDefinition } from '@devvit/protos/types/devvit/plugin/builder/builder.js';
import type { BuildPack, BuildPackDefinition } from '@devvit/protos/types/devvit/plugin/buildpack/buildpack.js';
import type { Clock, ClockDefinition } from '@devvit/protos/types/devvit/plugin/clock/clock.js';
import type { HTTP, HTTPDefinition } from '@devvit/protos/types/devvit/plugin/http/http.js';
import type { Inspector, InspectorDefinition } from '@devvit/protos/types/devvit/plugin/inspector/inspector.js';
import type { KVStore, KVStoreDefinition } from '@devvit/protos/types/devvit/plugin/kvstore/kvstore.js';
import type { Linker, LinkerDefinition } from '@devvit/protos/types/devvit/plugin/linker/linker.js';
import type { Resolver, ResolverDefinition } from '@devvit/protos/types/devvit/plugin/linker/resolver.js';
import type { Logger, LoggerDefinition } from '@devvit/protos/types/devvit/plugin/logger/logger.js';
import type { MediaService, MediaServiceDefinition } from '@devvit/protos/types/devvit/plugin/media/media.js';
import type { Modlog, ModlogDefinition } from '@devvit/protos/types/devvit/plugin/modlog/modlog.js';
import type { Flair, FlairDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/flair/flair_svc.js';
import type { GraphQL, GraphQLDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/graphql/graphql_svc.js';
import type { LinksAndComments, LinksAndCommentsDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/linksandcomments/linksandcomments_svc.js';
import type { Listings, ListingsDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/listings/listings_svc.js';
import type { Moderation, ModerationDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/moderation/moderation_svc.js';
import type { ModNote, ModNoteDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/modnote/modnote_svc.js';
import type { NewModmail, NewModmailDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/newmodmail/newmodmail_svc.js';
import type { PrivateMessages, PrivateMessagesDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/privatemessages/privatemessages_svc.js';
import type { Subreddits, SubredditsDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/subreddits/subreddits_svc.js';
import type { Users, UsersDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/users/users_svc.js';
import type { Widgets, WidgetsDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/widgets/widgets_svc.js';
import type { Wiki, WikiDefinition } from '@devvit/protos/types/devvit/plugin/redditapi/wiki/wiki_svc.js';
import type { RedisAPI, RedisAPIDefinition } from '@devvit/protos/types/devvit/plugin/redis/redisapi.js';
import type { Scheduler, SchedulerDefinition } from '@devvit/protos/types/devvit/plugin/scheduler/scheduler.js';
import type { Settings, SettingsDefinition } from '@devvit/protos/types/devvit/plugin/settings/v1alpha/settings.js';
import type { StreamBroker, StreamBrokerDefinition } from '@devvit/protos/types/devvit/plugin/streambroker/streambroker.js';
import type { Timer, TimerDefinition } from '@devvit/protos/types/devvit/plugin/timer/timer.js';
import type { V2Events, V2EventsDefinition } from '@devvit/protos/types/devvit/plugin/v2events/v2events.js';
import type { CustomActions, CustomActionsDefinition } from '@devvit/protos/types/devvit/reddit/custom_actions/v2alpha/custom_actions.js';
import type { CustomPost, CustomPostDefinition } from '@devvit/protos/types/devvit/reddit/custom_post/v1alpha/custom_post.js';
import type { RemoteLogConsumer, RemoteLogConsumerDefinition, RemoteLogPublisher, RemoteLogPublisherDefinition } from '@devvit/protos/types/devvit/remote_logger/remote_logger.js';
import type { UIEventHandler, UIEventHandlerDefinition } from '@devvit/protos/types/devvit/ui/events/v1alpha/handle_ui.js';
import type { Disposable } from '@devvit/shared-types/Disposable.js';
export type ActorRef = Disposable & {
    As<T extends ActorDefinition>(desc: T): ActorNameClientMap[T['name']];
};
/** Map from any known actor name to their client. */
export type ActorNameClientMap = {
    AppSettings: AppSettings;
    AssetResolver: AssetResolver;
    Bot: Bot;
    BuildPack: BuildPack;
    Builder: Builder;
    CacheUtils: CacheUtils;
    Clock: Clock;
    ContextAction: ContextAction;
    CustomActions: CustomActions;
    CustomPost: CustomPost;
    CustomPostSnapshotResolver: CustomPostSnapshotResolver;
    DevvitProfiler: DevvitProfiler;
    Flair: Flair;
    GraphQL: GraphQL;
    HTTP: HTTP;
    Hello: Hello;
    Inspector: Inspector;
    InstallationSettings: InstallationSettings;
    InstanceSettings: InstanceSettings;
    KVStore: KVStore;
    Linker: Linker;
    LinksAndComments: LinksAndComments;
    Listings: Listings;
    Logger: Logger;
    MediaService: MediaService;
    ModInviteUtils: ModInviteUtils;
    ModNote: ModNote;
    Moderation: Moderation;
    Modlog: Modlog;
    NewModmail: NewModmail;
    OnAccountDelete: OnAccountDelete;
    OnAppInstall: OnAppInstall;
    OnAppUpgrade: OnAppUpgrade;
    OnCommentApprove: OnCommentApprove;
    OnCommentCreate: OnCommentCreate;
    OnCommentDelete: OnCommentDelete;
    OnCommentReport: OnCommentReport;
    OnCommentSubmit: OnCommentSubmit;
    OnCommentUpdate: OnCommentUpdate;
    OnModAction: OnModAction;
    OnModMail: OnModMail;
    OnPostApprove: OnPostApprove;
    OnPostCreate: OnPostCreate;
    OnPostDelete: OnPostDelete;
    OnPostFlairUpdate: OnPostFlairUpdate;
    OnPostNsfwUpdate: OnPostNsfwUpdate;
    OnPostSpoilerUpdate: OnPostSpoilerUpdate;
    OnPostReport: OnPostReport;
    OnPostSubmit: OnPostSubmit;
    OnPostUpdate: OnPostUpdate;
    OnSubredditSubscribe: OnSubredditSubscribe;
    PostFilter: PostFilter;
    PrivateMessages: PrivateMessages;
    Producer: Producer;
    Realtime: Realtime;
    RedisAPI: RedisAPI;
    RemoteLogConsumer: RemoteLogConsumer;
    RemoteLogPublisher: RemoteLogPublisher;
    Resolver: Resolver;
    Scheduler: Scheduler;
    SchedulerHandler: SchedulerHandler;
    Settings: Settings;
    StreamBroker: StreamBroker;
    Streams: Streams;
    SubredditMetadataResolver: SubredditMetadataResolver;
    Subreddits: Subreddits;
    Timer: Timer;
    Triggers: Triggers;
    UIEventHandler: UIEventHandler;
    UserConfigurable: UserConfigurable;
    Users: Users;
    V2Events: V2Events;
    Widgets: Widgets;
    Wiki: Wiki;
    WrapperTypes: WrapperTypes;
};
/** Any Known Actor Definitions */
export type ActorDefinition = AppSettingsDefinition | AssetResolverDefinition | BotDefinition | BuildPackDefinition | BuilderDefinition | CacheUtilsDefinition | ClockDefinition | ContextActionDefinition | CustomActionsDefinition | CustomPostDefinition | CustomPostSnapshotResolverDefinition | DevvitProfilerDefinition | FlairDefinition | GraphQLDefinition | HTTPDefinition | HelloDefinition | InspectorDefinition | InstallationSettingsDefinition | InstanceSettingsDefinition | KVStoreDefinition | LinkerDefinition | LinksAndCommentsDefinition | ListingsDefinition | LoggerDefinition | MediaServiceDefinition | ModInviteUtilsDefinition | ModNoteDefinition | ModerationDefinition | ModlogDefinition | NewModmailDefinition | OnAccountDeleteDefinition | OnAppInstallDefinition | OnAppUpgradeDefinition | OnCommentApproveDefinition | OnCommentCreateDefinition | OnCommentDeleteDefinition | OnCommentReportDefinition | OnCommentSubmitDefinition | OnCommentUpdateDefinition | OnModActionDefinition | OnModMailDefinition | OnPostApproveDefinition | OnPostCreateDefinition | OnPostDeleteDefinition | OnPostFlairUpdateDefinition | OnPostReportDefinition | OnPostSubmitDefinition | OnPostUpdateDefinition | OnPostNsfwUpdateDefinition | OnPostSpoilerUpdateDefinition | OnSubredditSubscribeDefinition | PostFilterDefinition | PrivateMessagesDefinition | ProducerDefinition | RealtimeDefinition | RedisAPIDefinition | RemoteLogConsumerDefinition | RemoteLogPublisherDefinition | ResolverDefinition | SchedulerDefinition | SchedulerHandlerDefinition | SettingsDefinition | StreamBrokerDefinition | StreamsDefinition | SubredditMetadataResolverDefinition | SubredditsDefinition | TimerDefinition | TriggersDefinition | UIEventHandlerDefinition | UserConfigurableDefinition | UsersDefinition | V2EventsDefinition | WidgetsDefinition | WikiDefinition | WrapperTypesDefinition;
//# sourceMappingURL=ActorRef.d.ts.map