/**
 * Baasix Plugin Helper
 *
 * This file provides helper functions for creating plugins.
 * Similar to Payload CMS's buildConfig pattern.
 */
import type { PluginDefinition, PluginMeta, PluginType } from "../types/plugin.js";
/**
 * Define a Baasix plugin with type safety
 *
 * @example
 * ```typescript
 * import { definePlugin } from '@baasix/baasix';
 *
 * export function myPlugin(config: MyPluginConfig) {
 *   return definePlugin({
 *     meta: {
 *       name: 'my-plugin',
 *       version: '1.0.0',
 *       type: 'feature'
 *     },
 *     schemas: [...],
 *     routes: [...],
 *     onInit: async (context) => {
 *       console.log('Plugin initialized!');
 *     }
 *   });
 * }
 * ```
 */
export declare function definePlugin(definition: PluginDefinition): PluginDefinition;
/**
 * Create plugin metadata with defaults
 *
 * @example
 * ```typescript
 * const meta = createPluginMeta({
 *   name: 'my-plugin',
 *   type: 'feature'
 * });
 * // { name: 'my-plugin', version: '1.0.0', type: 'feature' }
 * ```
 */
export declare function createPluginMeta(meta: Partial<PluginMeta> & {
    name: string;
    type: PluginType;
}): PluginMeta;
export default definePlugin;
//# sourceMappingURL=definePlugin.d.ts.map