import { type ExtensionTags } from "../../defineExtension/types.js"; import { type z } from "zod"; import { type ExtensionInstanceModelContext } from "../../defineExtension/index.js"; export interface ExtensionDefinitionModelParams { type: string; tags?: ExtensionTags; description: string; array?: boolean; paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema); build?(params: z.infer, ctx: ExtensionInstanceModelContext): Promise | void; validate?(params: z.infer): Promise | void; } export declare class ExtensionDefinitionModel { type: string; description: string; tags: ExtensionTags; multiple?: boolean; paramsSchema?: TParamsSchema | ((ctx: ExtensionInstanceModelContext) => TParamsSchema); build?(params: z.infer, ctx: ExtensionInstanceModelContext): Promise | void; validate?(params: z.infer): Promise | void; constructor(params: ExtensionDefinitionModelParams); }