import { JsonSchema } from '../../../lib/json-schema';
/**
 * Represents a variable completion option derived from a schema
 */
export interface VariableCompletion {
    /** The dot-notation path (e.g., "user.name") */
    path: string;
    /** Display label for the autocomplete */
    label: string;
    /** Description from the schema, if available */
    description?: string;
    /** The type of the property */
    type?: string;
}
/**
 * Flattens a JSON Schema into a list of variable completions for autocomplete.
 * Recursively extracts property paths using dot-notation.
 *
 * @param schema - The JSON Schema to flatten
 * @param maxDepth - Maximum recursion depth (default: 5)
 * @returns Array of variable completions
 *
 * @example
 * ```ts
 * const schema = {
 *   type: 'object',
 *   properties: {
 *     user: {
 *       type: 'object',
 *       properties: {
 *         name: { type: 'string' },
 *         email: { type: 'string' }
 *       }
 *     }
 *   }
 * };
 *
 * flattenSchemaToVariables(schema);
 * // Returns:
 * // [
 * //   { path: 'user', label: 'user', type: 'object' },
 * //   { path: 'user.name', label: 'user.name', type: 'string' },
 * //   { path: 'user.email', label: 'user.email', type: 'string' }
 * // ]
 * ```
 */
export declare function flattenSchemaToVariables(schema: JsonSchema | undefined, maxDepth?: number): VariableCompletion[];
