/** * #custom_actions.ts * * Code generated by ts-proto. DO NOT EDIT. * @packageDocumentation */ import type { Effect } from "../../../ui/effects/v1alpha/effect.js"; import type { ThingType } from "../../thing_type.js"; export type CustomAction = { /** Unique ID for this action */ actionId: string; /** Text to display on the menu item */ label: string; /** Short description for what the action will do */ shortDescription: string; /** Which menus should get this action */ menus?: CustomAction_Menus | undefined; /** Additional parameters to control where the action goes */ options?: CustomAction_Options | undefined; }; export type CustomAction_Menus = { subreddit?: boolean | undefined; post?: boolean | undefined; comment?: boolean | undefined; }; export type CustomAction_Options = { /** If true, add to the mod tools menu and only allow a moderator to run the action */ modTool?: boolean | undefined; /** Icon to show next to the label in the menu */ icon?: string | undefined; }; export type GetActionsRequest = {}; export type GetActionsResponse = { /** List of actions provided by this actor */ actions: CustomAction[]; }; export type OnActionRequest = { /** Matches the action_id in the action description */ actionId: string; /** The type of menu from which the action was executed */ thingType: ThingType; /** The source Thing ID from which the action was executed */ thingId: string; }; export type OnActionResponse = { /** Stateful data to send back to your app with events */ state?: { [key: string]: any; } | undefined; /** Optional list of Effects to execute on the client */ effects: Effect[]; }; //# sourceMappingURL=custom_actions.d.ts.map