UNPKG

@atproto/api

Version:

Client library for atproto and Bluesky

106 lines (105 loc) 3.62 kB
import { AppBskyActorDefs, AppBskyFeedDefs, AppBskyGraphDefs, ComAtprotoLabelDefs } from '../client/index'; export declare type Label = ComAtprotoLabelDefs.Label; export declare type LabelPreference = 'ignore' | 'warn' | 'hide'; export declare type LabelDefinitionFlag = 'no-override' | 'adult' | 'unauthed'; export declare type LabelDefinitionOnWarnBehavior = 'blur' | 'blur-media' | 'alert' | null; export interface LabelDefinitionLocalizedStrings { name: string; description: string; } export declare type LabelDefinitionLocalizedStringsMap = Record<string, LabelDefinitionLocalizedStrings>; export interface LabelDefinition { id: string; groupId: string; configurable: boolean; preferences: LabelPreference[]; flags: LabelDefinitionFlag[]; onwarn: LabelDefinitionOnWarnBehavior; strings: { settings: LabelDefinitionLocalizedStringsMap; account: LabelDefinitionLocalizedStringsMap; content: LabelDefinitionLocalizedStringsMap; }; } export interface LabelGroupDefinition { id: string; configurable: boolean; labels: LabelDefinition[]; strings: { settings: LabelDefinitionLocalizedStringsMap; }; } export declare type LabelDefinitionMap = Record<string, LabelDefinition>; export declare type LabelGroupDefinitionMap = Record<string, LabelGroupDefinition>; interface Labeler { did: string; displayName: string; } export interface LabelerSettings { labeler: Labeler; labels: Record<string, LabelPreference>; } export declare type ModerationSubjectProfile = AppBskyActorDefs.ProfileViewBasic | AppBskyActorDefs.ProfileView | AppBskyActorDefs.ProfileViewDetailed; export declare type ModerationSubjectPost = AppBskyFeedDefs.PostView; export declare type ModerationSubjectFeedGenerator = AppBskyFeedDefs.GeneratorView; export declare type ModerationSubjectUserList = AppBskyGraphDefs.ListViewBasic | AppBskyGraphDefs.ListView; export declare type ModerationSubject = ModerationSubjectProfile | ModerationSubjectPost | ModerationSubjectFeedGenerator | ModerationSubjectUserList; export declare type ModerationCauseSource = { type: 'user'; } | { type: 'list'; list: AppBskyGraphDefs.ListViewBasic; } | { type: 'labeler'; labeler: Labeler; }; export declare type ModerationCause = { type: 'blocking'; source: ModerationCauseSource; priority: 3; } | { type: 'blocked-by'; source: ModerationCauseSource; priority: 4; } | { type: 'block-other'; source: ModerationCauseSource; priority: 4; } | { type: 'label'; source: ModerationCauseSource; label: Label; labelDef: LabelDefinition; setting: LabelPreference; priority: 1 | 2 | 5 | 7 | 8; } | { type: 'muted'; source: ModerationCauseSource; priority: 6; }; export interface ModerationOpts { userDid: string; adultContentEnabled: boolean; labels: Record<string, LabelPreference>; labelers: LabelerSettings[]; } export declare class ModerationDecision { cause: ModerationCause | undefined; alert: boolean; blur: boolean; blurMedia: boolean; filter: boolean; noOverride: boolean; additionalCauses: ModerationCause[]; did: string; static noop(): ModerationDecision; constructor(cause?: ModerationCause | undefined, alert?: boolean, blur?: boolean, blurMedia?: boolean, filter?: boolean, noOverride?: boolean, additionalCauses?: ModerationCause[], did?: string); } export interface ModerationUI { filter?: boolean; blur?: boolean; alert?: boolean; cause?: ModerationCause; noOverride?: boolean; } export {};