/**
 * Tool Types
 *
 * TypeScript types for MCP tools provided by @idealyst/mcp-server.
 */
/**
 * JSON Schema input definition for a tool
 */
interface ToolInputSchema {
    type: "object";
    properties: Record<string, PropertySchema>;
    required?: string[];
}
interface PropertySchema {
    type: string;
    description?: string;
    enum?: string[];
}
/**
 * MCP Tool definition structure
 */
interface ToolDefinition {
    name: string;
    description: string;
    inputSchema: ToolInputSchema;
}
/**
 * MCP Tool response content
 */
interface ToolContent {
    type: "text";
    text: string;
    [key: string]: unknown;
}
/**
 * MCP Tool response
 */
interface ToolResponse {
    content: ToolContent[];
    [key: string]: unknown;
}
/**
 * Tool handler function signature
 */
type ToolHandler<TArgs = Record<string, unknown>> = (args: TArgs) => ToolResponse | Promise<ToolResponse>;
interface ListComponentsArgs {
}
interface GetComponentDocsArgs {
    component: string;
}
interface GetComponentExampleArgs {
    component: string;
    example_type?: "basic" | "variants" | "with-icons" | "interactive";
}
interface SearchComponentsArgs {
    query?: string;
    category?: "layout" | "form" | "display" | "navigation" | "overlay" | "data";
}
interface GetComponentTypesArgs {
    component: string;
    format?: "typescript" | "json" | "both";
}
interface GetComponentExamplesTsArgs {
    component: string;
}
interface GetCliUsageArgs {
    command?: string;
}
interface SearchIconsArgs {
    query: string;
    limit?: number;
}
interface GetThemeTypesArgs {
    format?: "typescript" | "json" | "both";
}
interface GetNavigationTypesArgs {
    format?: "typescript" | "json" | "both";
}
interface GetTranslateGuideArgs {
    topic: "overview" | "api" | "runtime-api" | "babel-plugin" | "translation-files" | "examples";
}
interface GetStorageGuideArgs {
    topic: "overview" | "api" | "examples" | "secure";
}
interface GetAudioGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetCameraGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetFilesGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetOauthClientGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetAnimateGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetDatagridGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetDatepickerGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetLottieGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetMarkdownGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetConfigGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetChartsGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetClipboardGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetBiometricsGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface GetPaymentsGuideArgs {
    topic: "overview" | "api" | "examples";
}
interface ListPackagesArgs {
    category?: "core" | "ui" | "media" | "data" | "auth" | "utility" | "tooling";
}
interface GetPackageDocsArgs {
    package: string;
    section?: "overview" | "installation" | "features" | "quickstart" | "api";
}
interface SearchPackagesArgs {
    query: string;
}
interface ListRecipesArgs {
    category?: "forms" | "navigation" | "data" | "layout" | "auth" | "settings" | "media";
    difficulty?: "beginner" | "intermediate" | "advanced";
}
interface GetRecipeArgs {
    recipe: string;
}
interface SearchRecipesArgs {
    query: string;
}
interface GetInstallGuideArgs {
    package: string;
}
interface GetIntroArgs {
}
type ToolName = "list_components" | "get_component_docs" | "get_component_example" | "search_components" | "get_component_types" | "get_component_examples_ts" | "get_cli_usage" | "search_icons" | "get_theme_types" | "get_navigation_types" | "get_translate_guide" | "get_storage_guide" | "get_audio_guide" | "get_camera_guide" | "get_files_guide" | "get_oauth_client_guide" | "get_animate_guide" | "get_datagrid_guide" | "get_datepicker_guide" | "get_lottie_guide" | "get_markdown_guide" | "get_config_guide" | "get_charts_guide" | "get_clipboard_guide" | "get_biometrics_guide" | "get_payments_guide" | "list_packages" | "get_package_docs" | "search_packages" | "list_recipes" | "get_recipe" | "search_recipes" | "get_install_guide" | "get_intro";
type ToolArgs = ListComponentsArgs | GetComponentDocsArgs | GetComponentExampleArgs | SearchComponentsArgs | GetComponentTypesArgs | GetComponentExamplesTsArgs | GetCliUsageArgs | SearchIconsArgs | GetThemeTypesArgs | GetNavigationTypesArgs | GetTranslateGuideArgs | GetStorageGuideArgs | GetAudioGuideArgs | GetCameraGuideArgs | GetFilesGuideArgs | GetOauthClientGuideArgs | GetAnimateGuideArgs | GetDatagridGuideArgs | GetDatepickerGuideArgs | GetLottieGuideArgs | GetMarkdownGuideArgs | GetConfigGuideArgs | GetChartsGuideArgs | GetClipboardGuideArgs | GetBiometricsGuideArgs | GetPaymentsGuideArgs | ListPackagesArgs | GetPackageDocsArgs | SearchPackagesArgs | ListRecipesArgs | GetRecipeArgs | SearchRecipesArgs | GetInstallGuideArgs | GetIntroArgs;

/**
 * Tool Definitions
 *
 * MCP tool schema definitions for all Idealyst tools.
 * These can be used to register tools with an MCP server or other systems.
 */

declare const listComponentsDefinition: ToolDefinition;
declare const getComponentDocsDefinition: ToolDefinition;
declare const getComponentExampleDefinition: ToolDefinition;
declare const searchComponentsDefinition: ToolDefinition;
declare const getComponentTypesDefinition: ToolDefinition;
declare const getComponentExamplesTsDefinition: ToolDefinition;
declare const getCliUsageDefinition: ToolDefinition;
declare const searchIconsDefinition: ToolDefinition;
declare const getThemeTypesDefinition: ToolDefinition;
declare const getNavigationTypesDefinition: ToolDefinition;
declare const getTranslateGuideDefinition: ToolDefinition;
declare const getStorageGuideDefinition: ToolDefinition;
declare const getAudioGuideDefinition: ToolDefinition;
declare const getCameraGuideDefinition: ToolDefinition;
declare const getFilesGuideDefinition: ToolDefinition;
declare const getOauthClientGuideDefinition: ToolDefinition;
declare const getAnimateGuideDefinition: ToolDefinition;
declare const getDatagridGuideDefinition: ToolDefinition;
declare const getDatepickerGuideDefinition: ToolDefinition;
declare const getLottieGuideDefinition: ToolDefinition;
declare const getMarkdownGuideDefinition: ToolDefinition;
declare const getConfigGuideDefinition: ToolDefinition;
declare const getChartsGuideDefinition: ToolDefinition;
declare const getClipboardGuideDefinition: ToolDefinition;
declare const getBiometricsGuideDefinition: ToolDefinition;
declare const getPaymentsGuideDefinition: ToolDefinition;
declare const listPackagesDefinition: ToolDefinition;
declare const getPackageDocsDefinition: ToolDefinition;
declare const searchPackagesDefinition: ToolDefinition;
declare const listRecipesDefinition: ToolDefinition;
declare const getRecipeDefinition: ToolDefinition;
declare const searchRecipesDefinition: ToolDefinition;
declare const getInstallGuideDefinition: ToolDefinition;
declare const getIntroDefinition: ToolDefinition;
/**
 * Array of all tool definitions.
 * Use this to register all tools with an MCP server.
 */
declare const toolDefinitions: ToolDefinition[];
/**
 * Map of tool definitions by name.
 * Use this for quick lookup of a specific tool definition.
 */
declare const toolDefinitionMap: Record<string, ToolDefinition>;

/**
 * Tool Handlers
 *
 * Implementation functions for all MCP tools.
 * These handlers can be used directly or through an MCP server.
 *
 * Component documentation now uses:
 * - Types: Dynamically loaded from @idealyst/tooling via generated/types.json
 * - Examples: Type-checked .examples.tsx files in examples/components/
 * - Metadata: Minimal static metadata (category, description, features, best practices)
 */

/**
 * List all available Idealyst components with brief descriptions
 */
declare function listComponents(_args?: ListComponentsArgs): ToolResponse;
/**
 * Get detailed documentation for a specific component
 *
 * Returns:
 * - Description and category from metadata
 * - TypeScript props from dynamic types
 * - Features and best practices from metadata
 * - Type-checked examples from .examples.tsx files
 */
declare function getComponentDocs(args: GetComponentDocsArgs): ToolResponse;
/**
 * Get a code example for a specific component
 *
 * Returns the type-checked example file content.
 * The example_type parameter is kept for API compatibility but all examples
 * are now in a single .examples.tsx file.
 */
declare function getComponentExample(args: GetComponentExampleArgs): ToolResponse;
/**
 * Search for components by name, category, or feature
 */
declare function searchComponents(args?: SearchComponentsArgs): ToolResponse;
/**
 * Get TypeScript type definitions for a component
 */
declare function getComponentTypes(args: GetComponentTypesArgs): ToolResponse;
/**
 * Get validated TypeScript examples for a component
 *
 * These examples are type-checked against the actual component props
 * to ensure they compile and are correct.
 */
declare function getComponentExamplesTs(args: GetComponentExamplesTsArgs): ToolResponse;
/**
 * Get information about CLI commands and usage
 */
declare function getCliUsage(args?: GetCliUsageArgs): ToolResponse;
declare function searchIcons(args: SearchIconsArgs): ToolResponse;
/**
 * Get TypeScript type definitions for theme types
 */
declare function getThemeTypes(args?: GetThemeTypesArgs): ToolResponse;
/**
 * Get TypeScript type definitions for navigation types
 */
declare function getNavigationTypes(args?: GetNavigationTypesArgs): ToolResponse;
/**
 * Get documentation for the translate package
 */
declare function getTranslateGuide(args: GetTranslateGuideArgs): ToolResponse;
/**
 * Get documentation for the storage package
 */
declare function getStorageGuide(args: GetStorageGuideArgs): ToolResponse;
/**
 * Get documentation for the audio package
 */
declare function getAudioGuide(args: GetAudioGuideArgs): ToolResponse;
/**
 * Get documentation for the camera package
 */
declare function getCameraGuide(args: GetCameraGuideArgs): ToolResponse;
/**
 * Get documentation for the files package
 */
declare function getFilesGuide(args: GetFilesGuideArgs): ToolResponse;
/**
 * Get documentation for the oauth-client package
 */
declare function getOauthClientGuide(args: GetOauthClientGuideArgs): ToolResponse;
/**
 * Get documentation for the animate package
 */
declare function getAnimateGuide(args: GetAnimateGuideArgs): ToolResponse;
/**
 * Get documentation for the datagrid package
 */
declare function getDatagridGuide(args: GetDatagridGuideArgs): ToolResponse;
/**
 * Get documentation for the datepicker package
 */
declare function getDatepickerGuide(args: GetDatepickerGuideArgs): ToolResponse;
/**
 * Get documentation for the lottie package
 */
declare function getLottieGuide(args: GetLottieGuideArgs): ToolResponse;
/**
 * Get documentation for the markdown package
 */
declare function getMarkdownGuide(args: GetMarkdownGuideArgs): ToolResponse;
/**
 * Get documentation for the config package
 */
declare function getConfigGuide(args: GetConfigGuideArgs): ToolResponse;
/**
 * Get documentation for the charts package
 */
declare function getChartsGuide(args: GetChartsGuideArgs): ToolResponse;
/**
 * Get documentation for the clipboard package
 */
declare function getClipboardGuide(args: GetClipboardGuideArgs): ToolResponse;
/**
 * Get documentation for the biometrics package
 */
declare function getBiometricsGuide(args: GetBiometricsGuideArgs): ToolResponse;
/**
 * Get documentation for the payments package
 */
declare function getPaymentsGuide(args: GetPaymentsGuideArgs): ToolResponse;
/**
 * List all available packages
 */
declare function listPackages(args?: ListPackagesArgs): ToolResponse;
/**
 * Get detailed documentation for a package
 */
declare function getPackageDocs(args: GetPackageDocsArgs): ToolResponse;
/**
 * Search across all packages
 */
declare function searchPackages(args: SearchPackagesArgs): ToolResponse;
/**
 * List all available recipes
 */
declare function listRecipes(args?: ListRecipesArgs): ToolResponse;
/**
 * Get a complete code recipe
 */
declare function getRecipe(args: GetRecipeArgs): ToolResponse;
/**
 * Search for recipes
 */
declare function searchRecipes(args: SearchRecipesArgs): ToolResponse;
/**
 * Get detailed installation guide for a package
 */
declare function getInstallGuide(args: GetInstallGuideArgs): ToolResponse;
/**
 * Get a comprehensive introduction to the Idealyst framework
 */
declare function getIntro(_args?: GetIntroArgs): ToolResponse;
/**
 * Map of all tool handlers by name.
 * Use this for dynamic tool dispatch.
 */
declare const toolHandlers: Record<string, (args: any) => ToolResponse>;
/**
 * Call a tool by name with arguments.
 * Returns a tool response or throws if the tool is not found.
 */
declare function callTool(name: string, args?: Record<string, unknown>): ToolResponse;

/**
 * Get list of all available components
 */
declare function getAvailableComponents(): string[];
/**
 * Get the full component registry from @idealyst/tooling
 * This is the single source of truth for component props and values
 */
declare function getComponentRegistry(): Record<string, any>;
/**
 * Get theme values from the registry
 * This is the single source of truth for available intents, sizes, etc.
 */
declare function getRegistryThemeValues(): any;

export { type GetAnimateGuideArgs, type GetAudioGuideArgs, type GetBiometricsGuideArgs, type GetCameraGuideArgs, type GetChartsGuideArgs, type GetCliUsageArgs, type GetClipboardGuideArgs, type GetComponentDocsArgs, type GetComponentExampleArgs, type GetComponentExamplesTsArgs, type GetComponentTypesArgs, type GetConfigGuideArgs, type GetDatagridGuideArgs, type GetDatepickerGuideArgs, type GetFilesGuideArgs, type GetInstallGuideArgs, type GetIntroArgs, type GetLottieGuideArgs, type GetMarkdownGuideArgs, type GetNavigationTypesArgs, type GetOauthClientGuideArgs, type GetPackageDocsArgs, type GetPaymentsGuideArgs, type GetRecipeArgs, type GetStorageGuideArgs, type GetThemeTypesArgs, type GetTranslateGuideArgs, type ListComponentsArgs, type ListPackagesArgs, type ListRecipesArgs, type PropertySchema, type SearchComponentsArgs, type SearchIconsArgs, type SearchPackagesArgs, type SearchRecipesArgs, type ToolArgs, type ToolContent, type ToolDefinition, type ToolHandler, type ToolInputSchema, type ToolName, type ToolResponse, callTool, getAnimateGuide, getAnimateGuideDefinition, getAudioGuide, getAudioGuideDefinition, getAvailableComponents, getBiometricsGuide, getBiometricsGuideDefinition, getCameraGuide, getCameraGuideDefinition, getChartsGuide, getChartsGuideDefinition, getCliUsage, getCliUsageDefinition, getClipboardGuide, getClipboardGuideDefinition, getComponentDocs, getComponentDocsDefinition, getComponentExample, getComponentExampleDefinition, getComponentExamplesTs, getComponentExamplesTsDefinition, getComponentRegistry, getComponentTypes, getComponentTypesDefinition, getConfigGuide, getConfigGuideDefinition, getDatagridGuide, getDatagridGuideDefinition, getDatepickerGuide, getDatepickerGuideDefinition, getFilesGuide, getFilesGuideDefinition, getInstallGuide, getInstallGuideDefinition, getIntro, getIntroDefinition, getLottieGuide, getLottieGuideDefinition, getMarkdownGuide, getMarkdownGuideDefinition, getNavigationTypes, getNavigationTypesDefinition, getOauthClientGuide, getOauthClientGuideDefinition, getPackageDocs, getPackageDocsDefinition, getPaymentsGuide, getPaymentsGuideDefinition, getRecipe, getRecipeDefinition, getRegistryThemeValues, getStorageGuide, getStorageGuideDefinition, getThemeTypes, getThemeTypesDefinition, getTranslateGuide, getTranslateGuideDefinition, listComponents, listComponentsDefinition, listPackages, listPackagesDefinition, listRecipes, listRecipesDefinition, searchComponents, searchComponentsDefinition, searchIcons, searchIconsDefinition, searchPackages, searchPackagesDefinition, searchRecipes, searchRecipesDefinition, toolDefinitionMap, toolDefinitions, toolHandlers };
