/**
 * TeachMePlugin — Public Contribution Entry Point
 *
 * This is the file teammates contribute to.
 * To register your template:
 *   1. Build your renderer component implementing `TeachMePluginProps`
 *   2. Import it here
 *   3. Add it to `TemplateRegistry` with the exact value_type_name string as the key
 *
 * That's it. The wrapper handles routing, loading, and error states automatically.
 */
import React from "react";
import { TeachMeWrapperProps } from "./TeachMeWrapper";
export type TeachMeMode = "ADD" | "EDIT";
export interface TeachMePluginProps {
    /** App integration ID used to resolve the correct template. Optional only in backward-compat mode. */
    app_integration_id?: string;
    /** Controls dialog visibility */
    isOpen: boolean;
    /** Called when the dialog requests to close */
    onClose: () => void;
    /** Arbitrary team-specific data passed straight through to your renderer */
    pluginPayload?: Record<string, any>;
    /** Bearer token for API calls */
    token: string;
    /** Whether the plugin is opened for creating a new entry or editing an existing one */
    mode: TeachMeMode;
}
/**
 * Map a value_type_name (returned by the /getValueType API) to its renderer.
 *
 * Contributing a new template:
 *   "Your Value Type Name": YourCustomRenderer,
 *
 * Keys must exactly match the `value_type_name` field in the database.
 */
export declare const TemplateRegistry: Record<string, React.FC<TeachMeWrapperProps>>;
/**
 * `TeachMePlugin` is the public surface for this module.
 *
 * Teammates consume this component — not `TeachMeWrapper` directly.
 * It bridges the slimmed-down public API to the internal wrapper,
 * supplying the shared `TemplateRegistry` and a safe default for `initialScope`.
 *
 * @example
 * <TeachMePlugin
 *   app_integration_id="abc-123"
 *   isOpen={open}
 *   onClose={() => setOpen(false)}
 *   token={authToken}
 *   mode="ADD"
 *   pluginPayload={{ someTeamSpecificKey: "value" }}
 * />
 */
declare const TeachMePlugin: React.FC<TeachMePluginProps>;
export default TeachMePlugin;
//# sourceMappingURL=TeachMePlugin.d.ts.map