import type { T2, T5 } from '@devvit/shared'; import type { ListingFetchOptions } from './Listing.js'; import { Listing } from './Listing.js'; export type ModActionTarget = { id: string; author?: string | undefined; body?: string | undefined; permalink?: string | undefined; title?: string | undefined; }; export interface ModAction { /** * A string like `"ModAction_1b1af634-5b87-11f0-a4f1-4ddd27626cc4"` * identifying the ModAction. */ id: string; /** * The type of the action. Think of what happened. */ type: ModActionType; /** * The username of the moderator. */ moderatorName: string; moderatorId: T2; /** * When the action took place. */ createdAt: Date; /** * The name of the subreddit the action took place. */ subredditName: string; /** * The ID of the subreddit the action took place. */ subredditId: T5; /** * The string "Page modmail-stats edited: Daily update of the * modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is * made up of `description` and `details`. The "Page modmail-stats edited" is * the "description". */ description?: string | undefined; /** * The string "Page modmail-stats edited: Daily update of the * modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is * made up of `description` and `details`. The "Daily update of the * modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is * the "details". */ details?: string | undefined; /** * Some context of the affected item of the modaction. */ target?: ModActionTarget | undefined; } export type ModActionType = 'banuser' | 'unbanuser' | 'spamlink' | 'removelink' | 'approvelink' | 'spamcomment' | 'removecomment' | 'approvecomment' | 'addmoderator' | 'showcomment' | 'invitemoderator' | 'uninvitemoderator' | 'acceptmoderatorinvite' | 'removemoderator' | 'addcontributor' | 'removecontributor' | 'editsettings' | 'editflair' | 'distinguish' | 'marknsfw' | 'wikibanned' | 'wikicontributor' | 'wikiunbanned' | 'wikipagelisted' | 'removewikicontributor' | 'wikirevise' | 'wikipermlevel' | 'ignorereports' | 'unignorereports' | 'setpermissions' | 'setsuggestedsort' | 'sticky' | 'unsticky' | 'setcontestmode' | 'unsetcontestmode' | 'lock' | 'unlock' | 'muteuser' | 'unmuteuser' | 'createrule' | 'editrule' | 'reorderrules' | 'deleterule' | 'spoiler' | 'unspoiler' | 'modmail_enrollment' | 'community_styling' | 'community_widgets' | 'markoriginalcontent' | 'collections' | 'events' | 'create_award' | 'disable_award' | 'delete_award' | 'enable_award' | 'mod_award_given' | 'hidden_award' | 'add_community_topics' | 'remove_community_topics' | 'create_scheduled_post' | 'edit_scheduled_post' | 'delete_scheduled_post' | 'submit_scheduled_post' | 'edit_post_requirements' | 'invitesubscriber' | 'submit_content_rating_survey' | 'adjust_post_crowd_control_level' | 'enable_post_crowd_control_filter' | 'disable_post_crowd_control_filter' | 'deleteoverriddenclassification' | 'overrideclassification' | 'reordermoderators' | 'snoozereports' | 'unsnoozereports' | 'addnote' | 'deletenote' | 'addremovalreason' | 'createremovalreason' | 'updateremovalreason' | 'deleteremovalreason' | 'reorderremovalreason' | 'dev_platform_app_changed' | 'dev_platform_app_disabled' | 'dev_platform_app_enabled' | 'dev_platform_app_installed' | 'dev_platform_app_uninstalled'; export type GetModerationLogOptions = ListingFetchOptions & { /** Subreddit name */ subredditName: string; /** (optional) A moderator filter. Accepts an array of usernames */ moderatorUsernames?: string[]; /** Type of the Moderator action */ type?: ModActionType; }; export declare function getModerationLog(options: GetModerationLogOptions): Listing; //# sourceMappingURL=ModAction.d.ts.map