import type { Client, CommandInteraction } from "discord.js"; import { CommandManager } from "./creators/commands/manager.js"; import type { EventPropData } from "./creators/events/event.js"; import { EventManager } from "./creators/events/manager.js"; import { ResponderManager, type GenericResponderInteraction } from "./creators/responders/manager.js"; export interface BaseCommandsConfig { guilds?: string[]; verbose?: boolean; middleware?(interaction: CommandInteraction, block: () => void): Promise; onNotFound?(interaction: CommandInteraction): void; onError?(error: unknown, interaction: CommandInteraction): void; } export interface BaseRespondersConfig { middleware?(interaction: GenericResponderInteraction, block: () => void, params: object): Promise; onNotFound?(interaction: GenericResponderInteraction): void; onError?(error: unknown, interaction: GenericResponderInteraction, params: object): void; } export interface BaseEventsConfig { middleware?(event: EventPropData, block: (...tags: string[]) => void): Promise; onError?(error: unknown, event: EventPropData): void; } export type BaseErrorHandler = (error: Error | unknown, client: Client) => void; export interface BaseConfig { commands: BaseCommandsConfig; events: BaseEventsConfig; responders: BaseRespondersConfig; errorHandler: BaseErrorHandler; } export declare class ConstaticApp { readonly commands: CommandManager; readonly responders: ResponderManager; readonly events: EventManager; readonly config: BaseConfig; private static "~instance"; static getInstance(): ConstaticApp; private constructor(); static destroy(): void; setErrorHandler(handler: BaseErrorHandler): void; intro(): void; printLogs(): void; }