/**
 * @fileoverview ElectricSQL Client API - Generated from RDF schema
 * @module electric-client
 *
 * This file is auto-generated from electric-api.ttl ontology.
 * DO NOT EDIT MANUALLY - regenerate using: ggen generate --template jsdoc-api.tera
 */

{% for class in classes | sort(attribute="label") %}
/**
 * @typedef {{ '{' }}Object{{ '}' }} {{ class.label }}
 * @description {{ class.comment }}
{%- for prop in class.properties | sort(attribute="label") %}
 * @property {{ '{' }}{{ prop.type }}{{ '}' }} {{ prop.label }} - {{ prop.comment }}
{%- endfor %}
{%- if class.methods %}
 *
 * Methods:
{%- for method in class.methods | sort(attribute="label") %}
 * @method {{ method.label }}
 * @description {{ method.comment }}
{%- if method.parameters %}
 * @param {{ '{' }}{{ method.parameters | join(', ') }}{{ '}' }}
{%- endif %}
{%- if method.returns %}
 * @returns {{ '{' }}{{ method.returns }}{{ '}' }}
{%- endif %}
{%- endfor %}
{%- endif %}
 */

{% endfor %}

/**
 * Example usage with proper JSDoc types
 *
 * @example
 * // Initialize Electric client
 * /** @type {ElectricClient} */
 * const electric = await electrify(db);
 *
 * // Query with type safety
 * const users = await electric.db.query(
 *   "SELECT * FROM users WHERE age > ?",
 *   [18]
 * );
 *
 * // Subscribe to changes
 * const unsubscribe = await electric.sync.subscribe("users");
 */

// Export types for use in other modules
export {};
