import type { ConnectorConfig } from "./config.js"; import { type McpToolsetName, type McpToolSurface } from "./constants.js"; import type { DiscordChannel, DiscordGuild } from "./types.js"; export interface PolicyDescription { administrationEnabled: boolean; administrationGuildIds: string[]; applicationCommandChangesEnabled: boolean; applicationCommandGuildIds: string[]; globalApplicationCommandChangesEnabled: boolean; applicationEmojiAuditEnabled: boolean; applicationEmojiChangesEnabled: boolean; applicationEmojiCreationEnabled: boolean; applicationEmojiRootCount: number; applicationEntitlementConsumptionEnabled: boolean; applicationConsumableEntitlementSkuIds: string[]; applicationConsumableEntitlementUserIds: string[]; applicationIntentChangesEnabled: boolean; botProfileAuditEnabled: boolean; botProfileChangesEnabled: boolean; botProfileImageReplacementEnabled: boolean; botProfileRootCount: number; applicationEntitlementGuildIds: string[]; applicationEntitlementUserIds: string[]; applicationMonetizationAuditEnabled: boolean; applicationMonetizationSkuIds: string[]; applicationSubscriptionUserIds: string[]; applicationTestEntitlementChangesEnabled: boolean; applicationTestEntitlementGuildIds: string[]; applicationTestEntitlementSkuIds: string[]; applicationTestEntitlementUserIds: string[]; applicationRoleConnectionMetadataChangesEnabled: boolean; announcementCrosspostChannelIds: string[]; announcementCrosspostsEnabled: boolean; announcementSubscriptionAuditEnabled: boolean; announcementSubscriptionChangesEnabled: boolean; announcementSubscriptionSourceChannelIds: string[]; announcementSubscriptionTargetChannelIds: string[]; allowedChannelIds: string[]; allowedGuildIds: string[]; attachmentChannelIds: string[]; attachmentMaxBytes: number; attachmentRootCount: number; attachmentsEnabled: boolean; automodAlertChannelIds: string[]; automodAuditEnabled: boolean; automodChangesEnabled: boolean; automodGuildIds: string[]; banAuditEnabled: boolean; banAuditGuildIds: string[]; bulkBanAuditEnabled: boolean; bulkBanGuildIds: string[]; bulkBansEnabled: boolean; bulkMemberRoleChangesEnabled: boolean; bulkMemberRoleGuildIds: string[]; bulkMemberRoleCount: number; channelCloneAuditEnabled: boolean; channelCloneGuildIds: string[]; channelCloneSourceIds: string[]; channelCloningEnabled: boolean; channelCreationEnabled: boolean; channelCreationGuildIds: string[]; channelDeletionAuditEnabled: boolean; channelDeletionIds: string[]; channelDeletionsEnabled: boolean; channelMetadataChangesEnabled: boolean; channelMetadataIds: string[]; channelOrderingAuditEnabled: boolean; channelOrderingChangesEnabled: boolean; channelOrderingGuildIds: string[]; componentLinkOrigins: string[]; deleteChannelIds: string[]; deletionsEnabled: boolean; directMessageAuditEnabled: boolean; directMessageAttachmentsEnabled: boolean; directMessageDeletionEnabled: boolean; directMessageDeliveryEnabled: boolean; directMessageEditingEnabled: boolean; directMessageUserIds: string[]; embedMessageChannelIds: string[]; embedMessagesEnabled: boolean; forumPostChannelIds: string[]; forumPostsEnabled: boolean; forumTagAuditEnabled: boolean; forumTagChangesEnabled: boolean; forumTagChannelIds: string[]; gatewayEnabled: boolean; gatewayEventBufferSize: number; guildScaffoldGuildIds: string[]; guildScaffoldsEnabled: boolean; guildExpressionAuditEnabled: boolean; guildExpressionChangesEnabled: boolean; guildExpressionCreationEnabled: boolean; guildExpressionGuildIds: string[]; guildExpressionRootCount: number; guildCommunityAuditEnabled: boolean; guildCommunityChangesEnabled: boolean; guildCommunityGuildIds: string[]; guildDepartureGuildIds: string[]; guildDeparturesEnabled: boolean; guildIncidentAuditEnabled: boolean; guildIncidentChangesEnabled: boolean; guildIncidentGuildIds: string[]; guildProfileAuditEnabled: boolean; guildProfileChangesEnabled: boolean; guildProfileGuildIds: string[]; guildPruneAuditEnabled: boolean; guildPruneGuildIds: string[]; guildPruneIncludeRoleIds: string[]; guildPruneMaxMembers: number; guildPrunesEnabled: boolean; guildSettingsAuditEnabled: boolean; guildSettingsChangesEnabled: boolean; guildSettingsGuildIds: string[]; guildTemplateAuditEnabled: boolean; guildTemplateChangesEnabled: boolean; guildTemplateGuildIds: string[]; integrationAuditEnabled: boolean; integrationDeletionsEnabled: boolean; integrationGuildIds: string[]; integrationIds: string[]; interactionChannelIds: string[]; interactionMaxWritesPerMinute: number; interactionMinWriteIntervalMs: number; interactionsEnabled: boolean; inviteAuditEnabled: boolean; inviteCapabilityRootCount: number; inviteCreationChannelIds: string[]; inviteCreationEnabled: boolean; inviteRoleAssignmentEnabled: boolean; inviteRoleIds: string[]; inviteDeletionsEnabled: boolean; inviteGuildIds: string[]; memberDirectoryEnabled: boolean; memberDirectoryGuildIds: string[]; nicknameChangesEnabled: boolean; nicknameGuildIds: string[]; otherMemberNicknameChangesEnabled: boolean; memberRoleChangesEnabled: boolean; memberRoleGuildIds: string[]; memberRoleCount: number; memberVerificationChangesEnabled: boolean; memberVerificationGuildIds: string[]; memberVoiceAuditEnabled: boolean; memberVoiceChangesEnabled: boolean; memberVoiceChannelIds: string[]; memberVoiceGuildIds: string[]; crossGuildMessageForwardingEnabled: boolean; messageForwardingEnabled: boolean; messageForwardSourceChannelIds: string[]; messageForwardTargetChannelIds: string[]; nativeCommandChangesEnabled: boolean; nativeCommandName: string; nativeInteractionChannelIds: string[]; nativeInteractionGuildIds: string[]; nativeInteractionMaxPending: number; nativeInteractionsEnabled: boolean; nativeInteractionTtlSeconds: number; nativeInteractionUserIds: string[]; mentionUserCount: number; mcpToolsets: McpToolsetName[]; mcpToolSurface: McpToolSurface; mcpReadResponseMaxBytes: number; onboardingAuditEnabled: boolean; onboardingChangesEnabled: boolean; onboardingGuildIds: string[]; permissionOverwriteChannelIds: string[]; permissionOverwritesEnabled: boolean; permissionSyncChannelIds: string[]; permissionSyncsEnabled: boolean; protectedUserCount: number; pinChannelIds: string[]; pinManagementEnabled: boolean; pollAuditEnabled: boolean; pollChannelIds: string[]; pollCreationEnabled: boolean; pollEndingEnabled: boolean; pollVoterAuditEnabled: boolean; reactionChannelIds: string[]; reactionModerationEnabled: boolean; reactionUserAuditEnabled: boolean; readChannelScope: "all-visible" | "allowlist"; readGuildScope: "all-visible" | "allowlist"; roleCreationEnabled: boolean; roleCreationGuildIds: string[]; roleConfigurationEnabled: boolean; roleConfigurationIds: string[]; roleDeletionAuditEnabled: boolean; roleDeletionIds: string[]; roleDeletionsEnabled: boolean; roleOrderingAuditEnabled: boolean; roleOrderingChangesEnabled: boolean; roleOrderingGuildIds: string[]; scheduledEventAuditEnabled: boolean; scheduledEventChangesEnabled: boolean; scheduledEventCoverChangesEnabled: boolean; scheduledEventGuildIds: string[]; scheduledEventRootCount: number; scheduledEventUserAuditEnabled: boolean; soundboardAuditEnabled: boolean; soundboardChangesEnabled: boolean; soundboardCreationEnabled: boolean; soundboardGuildIds: string[]; soundboardPlaybackChannelIds: string[]; soundboardPlaybackEnabled: boolean; soundboardPlaybackSourceGuildIds: string[]; soundboardRootCount: number; stageChannelIds: string[]; stageInstanceAuditEnabled: boolean; stageInstanceChangesEnabled: boolean; stageStartNotificationsEnabled: boolean; threadCreationEnabled: boolean; threadAuditEnabled: boolean; threadChangesEnabled: boolean; threadGuildIds: string[]; threadIds: string[]; threadMemberUserIds: string[]; threadParentIds: string[]; welcomeScreenAuditEnabled: boolean; welcomeScreenChangesEnabled: boolean; welcomeScreenGuildIds: string[]; webhookAuditEnabled: boolean; webhookChannelIds: string[]; webhookGuildIds: string[]; webhookChangesEnabled: boolean; webhookCreationEnabled: boolean; webhookDeletionsEnabled: boolean; webhookMessageAuditEnabled: boolean; webhookMessageChannelIds: string[]; webhookMessageChangesEnabled: boolean; webhookMessageDeletionsEnabled: boolean; webhookMessageDeliveryEnabled: boolean; widgetPublicExposureEnabled: boolean; widgetSettingsAuditEnabled: boolean; widgetSettingsChangesEnabled: boolean; widgetSettingsGuildIds: string[]; } export declare class ScopePolicy { #private; constructor(config: Pick & Partial>); describe(): PolicyDescription; filterGuilds(guilds: readonly DiscordGuild[]): DiscordGuild[]; filterChannels(channels: readonly DiscordChannel[]): DiscordChannel[]; assertDirectMessageAuditAllowed(userId: string): void; assertDirectMessageAttachmentAllowed(userId: string): void; assertDirectMessageDeletionAllowed(userId: string): void; assertDirectMessageDeliveryAllowed(userId: string): void; assertDirectMessageEditingAllowed(userId: string): void; guildAllowed(guildId: string): boolean; assertGuildAllowed(guildId: string): void; assertGuildApplicationCommandChangeAllowed(guildId: string): void; assertGlobalApplicationCommandChangeAllowed(): void; assertNativeCommandChangeAllowed(guildId: string): void; assertNativeInteractionAllowed(guildId: string, channelId: string, userId: string): void; assertNativeInteractionTargetAllowed(guildId: string, channelId: string): string[]; assertMemberDirectoryAllowed(guildId: string): void; assertBanAuditAllowed(guildId: string): void; assertBulkBanAuditAllowed(guildId: string): void; assertBulkBanExecutionAllowed(guildId: string): void; assertGuildPruneAuditAllowed(guildId: string, includeRoleIds: readonly string[]): void; assertGuildPruneExecutionAllowed(guildId: string, includeRoleIds: readonly string[]): void; assertGuildInviteAuditable(guildId: string): void; assertGuildInviteDeletable(guildId: string): void; assertGuildInviteCreatable(guildId: string, channelId: string): void; assertInviteRoleAssignmentAllowed(roleIds: readonly string[]): void; assertGuildTemplateAuditable(guildId: string): void; assertGuildCommunityAuditable(guildId: string): void; assertGuildCommunityChangeable(guildId: string): void; assertGuildDepartureAllowed(guildId: string): void; assertGuildSettingsAuditable(guildId: string): void; assertGuildIncidentAuditable(guildId: string): void; assertGuildIncidentChangeable(guildId: string): void; assertGuildProfileAuditable(guildId: string): void; assertGuildProfileChangeable(guildId: string): void; assertGuildSettingsChangeable(guildId: string): void; assertGuildTemplateChangeable(guildId: string): void; assertGuildIntegrationAuditable(guildId: string): void; assertGuildIntegrationDeletable(guildId: string, integrationId: string): void; assertGuildOnboardingAuditable(guildId: string): void; assertGuildOnboardingChangeable(guildId: string): void; assertGuildWelcomeScreenAuditable(guildId: string): void; assertGuildWelcomeScreenChangeable(guildId: string): void; assertGuildWidgetSettingsAuditable(guildId: string): void; assertGuildWidgetSettingsChangeable(guildId: string): void; assertGuildWidgetPublicExposureChangeable(guildId: string): void; assertMemberAdministrationAllowed(guildId: string, userId: string): void; assertMemberRoleChangeAllowed(guildId: string, userId: string, roleId: string): void; assertBulkMemberRoleChangeAllowed(guildId: string, userId: string, roleId: string): void; assertNicknameChangeAllowed(guildId: string): void; assertMemberVerificationChangeAllowed(guildId: string, userId: string): void; assertOtherMemberNicknameChangeAllowed(guildId: string, userId: string): void; assertMemberVoiceAuditable(guildId: string): void; assertMemberVoiceChannelAllowed(channelId: string): void; assertMemberVoiceChangeable(guildId: string, userId: string): void; assertUserNotProtected(userId: string): void; assertChannelCreationAllowed(guildId: string): void; assertRoleCreationAllowed(guildId: string): void; assertRoleConfigurationAllowed(guildId: string, roleId: string): void; assertRoleDeletionAuditable(guildId: string, roleId: string): void; assertRoleDeletionAllowed(guildId: string, roleId: string): void; assertRoleOrderingAuditable(guildId: string): void; assertChannelOrderingAuditable(guildId: string): void; assertChannelDeletionAuditable(guildId: string, channelId: string): void; assertChannelDeletionAllowed(guildId: string, channelId: string): void; assertChannelCloneAuditable(guildId: string, sourceChannelId: string): void; assertChannelCloneable(guildId: string, sourceChannelId: string): void; assertChannelOrderingChangeable(guildId: string): void; assertRoleOrderingChangeable(guildId: string): void; assertGuildScaffoldAllowed(guildId: string): void; assertGuildExpressionAuditable(guildId: string): void; assertGuildExpressionChangeAllowed(guildId: string): void; assertApplicationEmojiAuditable(): void; applicationMonetizationSkuScope(): string[]; assertApplicationEntitlementsAuditable(beneficiary: Readonly<{ type: "guild" | "user"; id: string; }>, skuIds: readonly string[]): void; assertApplicationSubscriptionsAuditable(userId: string, skuId: string): void; assertApplicationTestEntitlementChangeAllowed(beneficiary: Readonly<{ id: string; type: "guild" | "user"; }>, skuId: string): void; assertApplicationEntitlementConsumptionAllowed(userId: string, skuId: string): void; assertApplicationEmojiChangeAllowed(): void; assertApplicationIntentChangeAllowed(): void; assertBotProfileAuditable(): void; assertBotProfileChangeAllowed(): void; assertApplicationRoleConnectionMetadataChangeAllowed(): void; assertAutomodAuditable(guildId: string): void; assertAutomodChangeAllowed(guildId: string): void; automodAlertChannelAllowed(channelId: string): boolean; assertAutomodAlertChannelAllowed(channelId: string): void; assertScheduledEventAuditable(guildId: string): void; assertScheduledEventChangeAllowed(guildId: string): void; assertScheduledEventUsersAuditable(guildId: string): void; assertSoundboardAuditEnabled(): void; assertSoundboardAuditable(guildId: string): void; assertSoundboardChangeAllowed(guildId: string): void; assertSoundboardPlaybackEnabled(): void; assertSoundboardPlaybackChannelIdAllowed(channelId: string): void; assertSoundboardPlaybackChannel(channel: DiscordChannel): string; assertSoundboardPlaybackSourceGuildAllowed(guildId: string): void; stageInstanceAuditChannelIds(): string[]; assertStageInstanceChannelIdAuditable(channelId: string): void; assertStageInstanceAuditable(channel: DiscordChannel): string; assertStageInstanceChangeAllowed(channel: DiscordChannel, sendStartNotification?: boolean): string; assertStageInstanceChannelIdChangeAllowed(channelId: string, sendStartNotification?: boolean): void; channelIdReadable(channelId: string, parentId?: string | null): boolean; constrainSearchChannelIds(requestedChannelIds: readonly string[] | undefined, maximum: number): string[] | undefined; assertChannelReadable(channel: DiscordChannel): string; assertChannelDeletable(channel: DiscordChannel): string; assertChannelMetadataChangeAllowed(channel: DiscordChannel): string; assertForumTagAuditConfigured(channelId: string): void; assertForumTagChangeConfigured(channelId: string): void; assertForumTagAuditable(channel: DiscordChannel): string; assertForumTagChangeable(channel: DiscordChannel): string; assertChannelAttachmentAllowed(channel: DiscordChannel): string; assertChannelInteractable(channel: DiscordChannel): string; assertChannelEmbedMessageAllowed(channel: DiscordChannel): string; assertChannelAnnouncementCrosspostable(channel: DiscordChannel): string; assertMessageForwardSource(channel: DiscordChannel): string; assertMessageForwardSourceConfigured(channelId: string): void; assertMessageForwardTarget(channel: DiscordChannel): string; assertMessageForwardTargetConfigured(channelId: string): void; assertMessageForwardGuildBoundary(sourceGuildId: string, targetGuildId: string): void; assertAnnouncementSubscriptionTargetIdAuditable(channelId: string): void; assertAnnouncementSubscriptionTargetAuditable(channel: DiscordChannel): string; assertAnnouncementSubscriptionTargetIdChangeable(channelId: string): void; assertAnnouncementSubscriptionTargetChangeable(channel: DiscordChannel): string; assertAnnouncementSubscriptionSourceIdChangeable(channelId: string): void; assertAnnouncementSubscriptionSourceChangeable(channel: DiscordChannel): string; assertChannelPinManageable(channel: DiscordChannel): string; assertPollAuditable(channel: DiscordChannel): string; assertPollVotersAuditable(channel: DiscordChannel): string; assertPollCreatable(channel: DiscordChannel): string; assertPollEndable(channel: DiscordChannel): string; assertChannelReactionAuditable(channel: DiscordChannel): string; assertChannelReactionIdAuditable(channelId: string): void; assertChannelReactionModeratable(channel: DiscordChannel): string; assertChannelReactionIdModeratable(channelId: string): void; assertChannelWebhookAuditable(channel: DiscordChannel): string; assertGuildWebhookAuditable(guildId: string): void; assertChannelWebhookIdAuditable(channelId: string): void; assertChannelWebhookDeletable(channel: DiscordChannel): string; assertChannelWebhookChangeable(channel: DiscordChannel): string; assertChannelWebhookIdChangeable(channelId: string): void; assertChannelWebhookCreatable(channel: DiscordChannel): string; assertChannelWebhookIdCreatable(channelId: string): void; assertChannelWebhookIdDeletable(channelId: string): void; assertChannelWebhookMessageAuditable(channel: DiscordChannel): string; assertWebhookMessageAuditEnabled(): void; assertChannelWebhookMessageIdAuditable(channelId: string): void; assertWebhookMessageChangesEnabled(): void; assertChannelWebhookMessageChangeable(channel: DiscordChannel): string; assertWebhookMessageDeletionsEnabled(): void; assertChannelWebhookMessageDeletable(channel: DiscordChannel): string; assertWebhookMessageDeliveryEnabled(): void; assertChannelWebhookMessageDeliverable(channel: DiscordChannel): string; assertChannelPermissionOverwriteAllowed(channel: DiscordChannel): string; assertChannelPermissionSyncAllowed(channel: DiscordChannel): string; assertForumPostAllowed(channel: DiscordChannel): string; assertThreadCreatable(channel: DiscordChannel): string; assertThreadAuditable(guildId: string, threadId: string): void; assertThreadMemberUserAllowed(userId: string): void; assertThreadChangeAllowed(guildId: string, threadId: string): void; assertNotificationUsers(userIds: readonly string[]): void; assertComponentLinkOrigins(origins: readonly string[]): void; } //# sourceMappingURL=policy.d.ts.map