import type { Extension } from "./extension.js"; /** * Define an extension: a single addition your app makes to the Attio UI. * * The `type` field identifies the kind of extension and narrows the remaining configuration to * the matching shape: * * - `"record-action"` — an action in the actions menu of a record page * - `"bulk-record-action"` — an action that runs over records selected in a list * - `"record-widget"` — a React widget rendered on a record page * - `"object-action"` — an action that can be taken on an object * - `"call-recording-insight-text-action"` — an action on text selected in a call recording insight * - `"call-recording-summary-text-action"` — an action on text selected in a call recording summary * - `"call-recording-transcript-text-action"` — an action on text selected in a call recording transcript * * Each extension lives in its own folder under `src/app/extensions/` and must be the default * export of that folder's `extension.tsx` file, e.g. * `src/app/extensions/send-invoice/extension.tsx`. Sibling files in the folder are private * helpers and are not discovered. * * @example * import {Extensions} from "attio/client" * * export default Extensions.defineExtension({ * type: "record-action", * id: "show-weather-forecast", * label: "Show weather forecast", * icon: "Sun", * objects: ["people", "companies"], * onTrigger: async ({recordId, object}) => { * // Do something * }, * }) */ export declare function defineExtension(extension: TExtension): TExtension; //# sourceMappingURL=define-extension.d.ts.map