import { l } from "@atproto/lex-schema"; import * as TeamDefs from "../team/defs.defs.js"; declare const $nsid = "tools.ozone.queue.defs"; type $nsid = typeof $nsid; export { $nsid }; type QueueView = { $type?: "tools.ozone.queue.defs#queueView"; /** * Queue ID */ "id": number; /** * Display name of the queue */ "name": string; /** * Subject types this queue accepts. */ "subjectTypes"?: ("account" | "record" | "message" | "conversation" | l.UnknownString)[]; /** * Collection name for record subjects. Omit to accept every collection. */ "collection"?: l.NsidString; /** * Report reason types this queue accepts (fully qualified NSIDs) */ "reportTypes"?: (string)[]; /** * Match any listed tag on the account submitting the report. */ "reporterTags"?: (string)[]; /** * Match tags on the account that is being reported against. For record subjects, use the author account. Match any listed tag. */ "accountTags"?: (string)[]; /** * Optional description of the queue */ "description"?: string; /** * Policy keys recommended when actioning reports in this queue */ "recommendedPolicies"?: (string)[]; /** * Labels recommended for this queue and used as a fallback when routing label appeals */ "recommendedLabels"?: (string)[]; /** * DID of moderator who created this queue */ "createdBy": l.DidString; "createdAt": l.DatetimeString; "updatedAt": l.DatetimeString; /** * Whether this queue is currently active */ "enabled": boolean; /** * When the queue was deleted, if applicable */ "deletedAt"?: l.DatetimeString; /** * Statistics about this queue */ "stats": QueueStats; /** * Admins can always list this queue and browse its reports. Other roles require an active queue assignment. Individual report and moderation event access is unchanged. */ "strictAccess"?: boolean; }; export type { QueueView }; declare const queueView: l.TypedObjectSchema<"tools.ozone.queue.defs#queueView", l.Validator>; export { queueView }; type QueueStats = { $type?: "tools.ozone.queue.defs#queueStats"; /** * Number of unmuted reports currently not closed. */ "pendingCount"?: number; /** * Unmuted pending reports past their closure target. */ "closureTargetOverdueCount"?: number; /** * Reports whose closure meets their closure target. */ "closureTargetMetCount"?: number; /** * Reports whose closure exceeds their closure target. */ "closureTargetMissedCount"?: number; /** * Percent of reports meeting their closure target. */ "closureTargetMetRate"?: number; /** * Number of reports whose current closure falls within this UTC calendar day. */ "closedCount"?: number; /** * Number of closures whose last report action is label, tag, or takedown. */ "actionedCount"?: number; /** * Number of closures whose last report action is not label, tag, or takedown. */ "acknowledgedCount"?: number; /** * Number of report escalation events during this UTC calendar day. */ "escalatedCount"?: number; /** * Reports received in this queue during this UTC calendar day. */ "inboundCount"?: number; /** * Closures whose last report action is a label event. */ "labelActionCount"?: number; /** * Closures whose last report action is a tag event. */ "tagActionCount"?: number; /** * Closures whose last report action is a takedown event. */ "takedownActionCount"?: number; /** * Sum of report assignment-to-close seconds. */ "ahtDurationSec"?: number; /** * Number of assigned closed-report samples in ahtDurationSec. */ "ahtSampleCount"?: number; /** * Sum of report creation-to-close seconds. */ "resolutionDurationSec"?: number; /** * Number of closed-report samples in resolutionDurationSec. */ "resolutionSampleCount"?: number; /** * Percentage of closures actioned (actionedCount / closedCount * 100), rounded to nearest integer. */ "actionRate"?: number; /** * Average handling time in seconds from report assignment to close. */ "avgHandlingTimeSec"?: number; /** * Average resolution time in seconds from report creation to close. */ "avgResolutionTimeSec"?: number; /** * When these statistics were last computed. */ "lastUpdated"?: l.DatetimeString; }; export type { QueueStats }; declare const queueStats: l.TypedObjectSchema<"tools.ozone.queue.defs#queueStats", l.Validator>; export { queueStats }; type AssignmentView = { $type?: "tools.ozone.queue.defs#assignmentView"; "id": number; "did": l.DidString; /** * The moderator assigned to this queue */ "moderator"?: TeamDefs.Member; "queue": QueueView; "startAt": l.DatetimeString; "endAt"?: l.DatetimeString; }; export type { AssignmentView }; declare const assignmentView: l.TypedObjectSchema<"tools.ozone.queue.defs#assignmentView", l.Validator>; export { assignmentView }; //# sourceMappingURL=defs.defs.d.ts.map