import { type GuildChatInputApplicationCommandDefinition, type GuildContextApplicationCommandDefinition, type GuildApplicationCommandApiBody, type GuildApplicationCommandLocalization } from "./guild-application-command-definition.js"; import type { DiscordPermissionName } from "./permissions.js"; import type { DiscordApplicationCommand } from "./types.js"; export declare const GLOBAL_APPLICATION_COMMAND_TYPES: readonly ["chat-input", "user", "message", "primary-entry-point"]; export type GlobalApplicationCommandType = typeof GLOBAL_APPLICATION_COMMAND_TYPES[number]; export declare const GLOBAL_APPLICATION_COMMAND_CONTEXTS: readonly ["guild", "bot-dm", "private-channel"]; export type GlobalApplicationCommandContext = typeof GLOBAL_APPLICATION_COMMAND_CONTEXTS[number]; export declare const GLOBAL_APPLICATION_COMMAND_INTEGRATION_TYPES: readonly ["guild-install", "user-install"]; export type GlobalApplicationCommandIntegrationType = typeof GLOBAL_APPLICATION_COMMAND_INTEGRATION_TYPES[number]; export declare const GLOBAL_APPLICATION_COMMAND_HANDLERS: readonly ["application", "discord-launch-activity"]; export type GlobalApplicationCommandHandler = typeof GLOBAL_APPLICATION_COMMAND_HANDLERS[number]; interface GlobalApplicationCommandScopeDefinition { contexts: GlobalApplicationCommandContext[]; integrationTypes: GlobalApplicationCommandIntegrationType[]; } export type GlobalStandardApplicationCommandDefinition = (GuildChatInputApplicationCommandDefinition & GlobalApplicationCommandScopeDefinition) | (Omit & { type: "message"; } & GlobalApplicationCommandScopeDefinition) | (Omit & { type: "user"; } & GlobalApplicationCommandScopeDefinition); export interface GlobalPrimaryEntryPointApplicationCommandDefinition extends GlobalApplicationCommandScopeDefinition { defaultMemberPermissions: DiscordPermissionName[] | null; description: string; descriptionLocalizations: GuildApplicationCommandLocalization[]; handler: GlobalApplicationCommandHandler; name: string; nameLocalizations: GuildApplicationCommandLocalization[]; nsfw: boolean; type: "primary-entry-point"; } export type GlobalApplicationCommandDefinition = GlobalPrimaryEntryPointApplicationCommandDefinition | GlobalStandardApplicationCommandDefinition; export interface GlobalApplicationCommandApiBody extends Omit { contexts: number[]; handler?: number; integration_types: number[]; type: number; } export interface ProjectedGlobalApplicationCommand { applicationId: string; commandId: string; definition: GlobalApplicationCommandDefinition; version: string; } export declare class GlobalApplicationCommandDefinitionError extends Error { constructor(message: string, options?: ErrorOptions); } export declare function normalizeGlobalApplicationCommandDefinition(value: unknown): GlobalApplicationCommandDefinition; export declare function globalApplicationCommandApiBody(value: unknown): GlobalApplicationCommandApiBody; export declare function projectGlobalApplicationCommand(value: DiscordApplicationCommand, expectedApplicationId: string, defaultIntegrationTypes: readonly GlobalApplicationCommandIntegrationType[]): ProjectedGlobalApplicationCommand; export declare function globalApplicationCommandDefinitionDigest(definition: GlobalApplicationCommandDefinition): string; export declare function sameGlobalApplicationCommandDefinition(left: GlobalApplicationCommandDefinition, right: GlobalApplicationCommandDefinition): boolean; export declare function globalApplicationCommandTypeCode(type: GlobalApplicationCommandType): number; export {}; //# sourceMappingURL=global-application-command-definition.d.ts.map