import type { DiscordClient } from "./discord-client.js"; import { type DiscordPermissionName } from "./permissions.js"; import type { ScopePolicy } from "./policy.js"; import type { RequestOptions } from "./types.js"; export type ApplicationCommandScope = "global" | "guild"; export type ApplicationCommandType = "chat-input" | "message" | "primary-entry-point" | "unknown" | "user"; export type ApplicationCommandContext = "bot-dm" | "guild" | "private-channel"; export type ApplicationCommandInstallationType = "guild-install" | "user-install"; export type ApplicationCommandContextSource = "command" | "discord-default" | "guild-scope"; export type ApplicationCommandInstallationTypeSource = "application-default" | "command" | "guild-scope"; export type ApplicationCommandPermissionSource = "application-default" | "command-specific" | "discord-default"; export type ApplicationCommandPermissionTarget = "all-channels" | "channel" | "everyone" | "role" | "user"; export interface ApplicationCommandOptionSummary { autocomplete: number; channelTypeConstraints: number; choices: number; localizationValues: number; maximumDepth: number; required: number; topLevel: number; total: number; typeCounts: { attachment: number; boolean: number; channel: number; integer: number; mentionable: number; number: number; role: number; string: number; subcommand: number; subcommandGroup: number; user: number; }; unknownChannelTypes: number; unknownFields: number; unknownTypes: number; } export interface ApplicationCommandSummary { contexts: { complete: boolean; source: ApplicationCommandContextSource; unknownValues: number; values: ApplicationCommandContext[]; }; createdAt: string; defaultAccess: "administrator-or-explicit-allow" | "discord-default" | "named-permissions"; defaultMemberPermissionNames: DiscordPermissionName[]; deprecatedDefaultPermission: boolean | null; deprecatedDmPermission: boolean | null; descriptionCharacters: number; guildId: string | null; handler: "application" | "discord-launch-activity" | "unknown" | null; id: string; installationTypes: { complete: boolean; source: ApplicationCommandInstallationTypeSource; unknownValues: number; values: ApplicationCommandInstallationType[]; }; localizationValues: number; name: string; nameCharacters: number; nsfw: boolean; nsfwReported: boolean; options: ApplicationCommandOptionSummary; permissionSource: ApplicationCommandPermissionSource; scope: ApplicationCommandScope; type: { code: number; name: ApplicationCommandType; }; unknownFieldCount: number; unknownPermissionBits: string; version: string; versionCreatedAt: string; } export interface ApplicationCommandPermissionDecision { allowed: boolean; id: string; target: ApplicationCommandPermissionTarget; unknownFieldCount: number; } export interface ApplicationCommandPermissionSet { commandId: string | null; commandName: string | null; decisions: ApplicationCommandPermissionDecision[]; id: string; scope: ApplicationCommandScope | null; source: "application-default" | "command-specific"; unknownFieldCount: number; } export interface ApplicationCommandAuditResult { application: { botId: string; id: string; installationTypes: { complete: boolean; reported: boolean; unknownValues: number; values: ApplicationCommandInstallationType[]; }; }; commands: ApplicationCommandSummary[]; exposure: { commands: { administratorOrExplicitAllow: number; applicationDefaultInstallationTypes: number; discordDefault: number; discordDefaultContexts: number; global: number; guild: number; incompleteContexts: number; incompleteInstallationTypes: number; knownBotDm: number; knownPrivateChannel: number; knownUserInstall: number; namedPermissions: number; nsfw: number; total: number; unknownContextValues: number; unknownInstallationTypeValues: number; unknownTypes: number; }; evidence: { commandsWithUnknownPermissionBits: number; unknownFields: number; unknownOptionTypes: number; }; permissionSets: { allChannelDecisions: number; allows: number; applicationDefaults: number; channelDecisions: number; commandSpecific: number; decisions: number; denies: number; everyoneDecisions: number; roleDecisions: number; userDecisions: number; }; }; guild: { id: string; name: string; }; inventory: { completeness: "complete-current-application"; global: number; guild: number; permissions: number; total: number; }; permissions: ApplicationCommandPermissionSet[]; privacy: { omitted: readonly string[]; persistence: "none"; rawPayloads: "omitted"; text: "transient-untrusted"; unknownFields: "counts-only"; }; schemaVersion: number; status: "ok"; warnings: readonly string[]; } export interface ApplicationCommandAuditServiceClient extends Pick { } export interface ApplicationCommandAuditServiceOptions { client: ApplicationCommandAuditServiceClient; policy: Pick; } export interface ApplicationCommandAuditApplicationEvidence { botId: string; id: string; installationTypes: { reported: boolean; unknownValues: number; values: ApplicationCommandInstallationType[]; }; } export declare class ApplicationCommandAuditService { #private; constructor(options: ApplicationCommandAuditServiceOptions); audit(applicationValue: ApplicationCommandAuditApplicationEvidence, guildId: string, options?: RequestOptions): Promise; } //# sourceMappingURL=application-command-audit-service.d.ts.map