events: { on<E extends ClientNameEvents | CustomEventsKeys | GatewayEvents>(name: E, handler: (...args: ResolveEventParams<E>) => unknown, opts?: { once?: boolean; order?: PluginOrderOpt; }): PluginDisposer; once<E extends ClientNameEvents | CustomEventsKeys | GatewayEvents>(name: E, handler: (...args: ResolveEventParams<E>) => unknown): PluginDisposer; onAny(handler: (name: string, ...args: unknown[]) => unknown, opts?: { order?: PluginOrderOpt; }): PluginDisposer; onError(handler: PluginEventErrorHandler, opts?: { order?: PluginOrderOpt; }): PluginDisposer;};
commands: { add(...commands: PluginCommandLoadable[]): void; add(...args: [ ...commands: PluginCommandLoadable[], opts: PluginCommandContributionOptions ]): void; remove(...names: string[]): void; observe(observer: PluginCommandObserver, opts?: { order?: PluginOrderOpt; }): PluginDisposer; defaults(hooks: Partial<SeyfertCommandDefaults>, opts?: { suppressDefault?: boolean | readonly (keyof SeyfertCommandDefaults)[]; order?: PluginOrderOpt; }): void;};
rest: { observe(observer: PluginRestObserver, opts?: { order?: PluginOrderOpt; }): PluginDisposer;};
hooks: { on<K extends PluginHookName>(name: K, handler: PluginHookHandler<K, E>, opts?: { order?: PluginOrderOpt; }): PluginDisposer;};
handlers: { construct(creator: PluginHandlerCreator, opts?: PluginHandlerOptions): void; transform(transformer: PluginHandlerTransformer, opts?: PluginHandlerOptions): void;};
components: { add(...components: PluginComponentLoadable[]): void; add(...args: [ ...components: PluginComponentLoadable[], opts: PluginContributionOptions ]): void; remove(...customIds: string[]): void; defaults(hooks: Partial<SeyfertComponentDefaults>, opts?: { suppressDefault?: boolean | readonly (keyof SeyfertComponentDefaults)[]; order?: PluginOrderOpt; }): void;};
modals: { add(...modals: PluginModalLoadable[]): void; add(...args: [ ...modals: PluginModalLoadable[], opts: PluginContributionOptions ]): void; remove(...customIds: string[]): void; defaults(hooks: Partial<SeyfertModalDefaults>, opts?: { suppressDefault?: boolean | readonly (keyof SeyfertModalDefaults)[]; order?: PluginOrderOpt; }): void;};
middlewares: { add<const Name extends keyof M & string>(name: Name, middleware: M[Name], opts?: PluginMiddlewareOptions): void; add<const Name extends string>(name: Name extends keyof M & string ? never : Name, middleware: MiddlewareContext, opts?: PluginMiddlewareOptions): void; remove(...names: string[]): void;};
autocomplete: { wrap(wrapper: PluginAutocompleteWrapper, opts?: { order?: PluginOrderOpt; }): void;};
gateway: { addIntents(...intents: PluginIntentResolvable[]): void; wrapSendPayload(wrapper: PluginGatewaySendPayloadWrapper, opts?: { order?: PluginOrderOpt; }): void; onDispatch(interceptor: PluginGatewayDispatchInterceptor, opts?: { order?: PluginOrderOpt; }): PluginDisposer;};
cache: { resource(name: string, resource: PluginCacheResourceConstructor, opts?: PluginCacheResourceOptions): void;};
shared: { set<T, const Name extends string>(key: SharedKey<T, Name>, factory: (client: BaseClient & E) => T, opts?: PluginSharedOptions<T>): void; set<const Name extends keyof RegisteredPluginShared & string>(name: Name, factory: (client: BaseClient & E) => RegisteredPluginShared[Name], opts?: PluginSharedOptions<RegisteredPluginShared[Name]>): void; remove(...names: (string | SharedKey<unknown, string>)[]): void; has<const Name extends string>(name: Name | SharedKey<unknown, Name>): boolean;};
langs: { contribute(locale: LocaleString | string, values: Record<string, unknown>, opts: PluginLangOptions): void;};
diagnostics: { warn(message: string, options?: { code?: PluginDiagnosticCode; phase?: PluginLifecyclePhase | string; data?: Record<string, unknown>; }): void;};
options: { set(fragment: SeyfertPluginOptions): void;};