import { l } from "@atproto/lex-schema"; import * as ModerationDefs from "./defs.defs.js"; declare const $nsid = "tools.ozone.moderation.scheduleAction"; type $nsid = typeof $nsid; export { $nsid }; export declare const $params: l.ParamsSchema<{}>; export type $Params = l.InferOutput; export declare const $input: l.Payload<"application/json", l.ObjectSchema<{ action: l.TypedUnionSchema>], false>; subjects: l.ArraySchema>; createdBy: l.StringSchema<{ readonly format: "did"; }>; scheduling: l.RefSchema>; modTool: l.OptionalSchema>>; }>>; export type $Input = l.InferPayload; export type $InputBody = l.InferPayloadBody; export declare const $output: l.Payload<"application/json", l.RefSchema>>; export type $Output = l.InferPayload; export type $OutputBody = l.InferPayloadBody; /** Schedule a moderation action to be executed at a future time */ declare const main: l.Procedure<"tools.ozone.moderation.scheduleAction", l.ParamsSchema<{}>, l.Payload<"application/json", l.ObjectSchema<{ action: l.TypedUnionSchema>], false>; subjects: l.ArraySchema>; createdBy: l.StringSchema<{ readonly format: "did"; }>; scheduling: l.RefSchema>; modTool: l.OptionalSchema>>; }>>, l.Payload<"application/json", l.RefSchema>>, undefined>; export { main }; declare const $lxm = "tools.ozone.moderation.scheduleAction"; type $lxm = typeof $lxm; export { $lxm }; /** Schedule a takedown action */ type Takedown = { $type?: "tools.ozone.moderation.scheduleAction#takedown"; "comment"?: string; /** * Indicates how long the takedown should be in effect before automatically expiring. */ "durationInHours"?: number; /** * If true, all other reports on content authored by this account will be resolved (acknowledged). */ "acknowledgeAccountSubjects"?: boolean; /** * Names/Keywords of the policies that drove the decision. */ "policies"?: (string)[]; /** * Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.). */ "severityLevel"?: string; /** * Number of strikes to assign to the user when takedown is applied. */ "strikeCount"?: number; /** * When the strike should expire. If not provided, the strike never expires. */ "strikeExpiresAt"?: l.DatetimeString; /** * Email content to be sent to the user upon takedown. */ "emailContent"?: string; /** * Subject of the email to be sent to the user upon takedown. */ "emailSubject"?: string; }; export type { Takedown }; /** Schedule a takedown action */ declare const takedown: l.TypedObjectSchema<"tools.ozone.moderation.scheduleAction#takedown", l.Validator>; export { takedown }; /** Configuration for when the action should be executed */ type SchedulingConfig = { $type?: "tools.ozone.moderation.scheduleAction#schedulingConfig"; /** * Exact time to execute the action */ "executeAt"?: l.DatetimeString; /** * Earliest time to execute the action (for randomized scheduling) */ "executeAfter"?: l.DatetimeString; /** * Latest time to execute the action (for randomized scheduling) */ "executeUntil"?: l.DatetimeString; }; export type { SchedulingConfig }; /** Configuration for when the action should be executed */ declare const schedulingConfig: l.TypedObjectSchema<"tools.ozone.moderation.scheduleAction#schedulingConfig", l.Validator>; export { schedulingConfig }; type ScheduledActionResults = { $type?: "tools.ozone.moderation.scheduleAction#scheduledActionResults"; "succeeded": (l.DidString)[]; "failed": (FailedScheduling)[]; }; export type { ScheduledActionResults }; declare const scheduledActionResults: l.TypedObjectSchema<"tools.ozone.moderation.scheduleAction#scheduledActionResults", l.Validator>; export { scheduledActionResults }; type FailedScheduling = { $type?: "tools.ozone.moderation.scheduleAction#failedScheduling"; "subject": l.DidString; "error": string; "errorCode"?: string; }; export type { FailedScheduling }; declare const failedScheduling: l.TypedObjectSchema<"tools.ozone.moderation.scheduleAction#failedScheduling", l.Validator>; export { failedScheduling }; //# sourceMappingURL=scheduleAction.defs.d.ts.map