import type { Plugin } from "./plugin.ts";
import type { Schema } from "./schema.ts"
export type I_Plugin<T extends Schema.Object, R extends Schema.Reference.Config> = {
slug: string
name: string
version: string
config_schema?: T
defaults?: Partial<Schema.Infer<T>>
references?: R
init?: (this: Plugin<T, R>) => void | Promise<void>
}