/**
 * @tensorify.io/sdk
 *
 * TypeScript SDK for developing Tensorify plugins with comprehensive validation,
 * frontend enforcement, and publishing tools.
 *
 * @version 2.0.0-alpha
 * @author AlphaWolf Ventures, Inc.
 * @license ISC
 */
export { BasePlugin } from "./base-plugin";
export { MLPlugin } from "./ml-plugin";
export { GenerateCodeContext, GenerateCodeResult, NodeInstance, NodeManifest, NodeRegistry, Port, DataType, PluginSettings, } from "./v2-alpha-types";
export { TensorifyPlugin } from "./core/TensorifyPlugin";
export { CorePluginSettings, PluginCodeGenerationContext, NodeType, PluginCapability, PluginRequirements, } from "./types/core";
export { HandleViewType, HandlePosition, EdgeType, HandleDataType, HandleValidation, InputHandle, OutputHandle, NodeViewContainerType, IconType, IconPosition, NodeIcon, NodeSize, NodePadding, NodeStyling, NodeIcons, NodeLabels, NodeVisualConfig, ShapeDimension, ShapeCondition, ShapeExpression, TensorShape, } from "./types/visual";
export { PrevNodeAsInput, NextNodeAsOutput } from "./constants/handles";
export { SettingsUIType, SettingsDataType, SelectOption, FieldValidation, ConditionalDisplay, SettingsField, SettingsGroup, UI_TYPE_TO_DATA_TYPE_MAP, DEFAULT_VALUES, } from "./types/settings";
export { IPluginDefinition, PackageJsonInfo, FrontendPluginManifest, EmitsConfig, EmittedVariableConfig, ImportConfig, PluginValidationResult, PluginValidationError, PluginValidationWarning, PluginCreationResult, PluginBuildOptions, PluginExecutionContext, PluginExecutionResult, PluginExecutionError, } from "./types/plugin";
import { FrontendPluginManifest } from "./types/plugin";
export { generatePluginManifest, readPackageJson, writeManifestFile, buildPluginManifest, validatePlugin, validatePluginSettings, createDefaultSettings, mergeSettingsWithDefaults, processDynamicLabelTemplate, generateVariableName, sanitizeVariableName, indentCode, autoDetectEntrypointClassName, isValidPluginDirectory, createPluginTemplate, getPluginMetadata, } from "./utils/plugin-utils";
/**
 * Supported node type categories for plugins
 */
export declare const PLUGIN_CATEGORIES: readonly ["custom", "trainer", "evaluator", "model", "model_layer", "sequence", "dataloader", "preprocessor", "postprocessor", "augmentation_stack", "optimizer", "loss_function", "metric", "scheduler", "regularizer", "function", "pipeline", "report"];
/**
 * Plugin category type derived from constants
 */
export type PluginCategory = (typeof PLUGIN_CATEGORIES)[number];
/**
 * Current SDK version
 */
export declare const SDK_VERSION = "2.0.0-alpha";
/**
 * Minimum required TypeScript version
 */
export declare const MIN_TYPESCRIPT_VERSION = "4.5.0";
/**
 * Supported manifest format versions
 */
export declare const MANIFEST_VERSIONS: readonly ["1.0.0"];
/**
 * Create a new plugin manifest with default values
 *
 * @param overrides Optional properties to override defaults
 * @returns Plugin manifest with defaults applied
 */
export declare function createManifest(overrides?: Partial<FrontendPluginManifest>): FrontendPluginManifest;
/**
 * Validate a plugin manifest structure
 *
 * @param manifest Manifest to validate
 * @returns True if valid, throws error if invalid
 */
export declare function validateManifest(manifest: FrontendPluginManifest): boolean;
/**
 * Create a plugin entry point for CLI usage
 *
 * @param description Entry point description
 * @param parameters Entry point parameters
 * @returns Plugin entry point object
 */
export declare function createEntryPoint(description: string, parameters?: Record<string, any>): {
    description: string;
    parameters: Record<string, any>;
};
//# sourceMappingURL=index.d.ts.map