import { IntentAvailability, IntentRequest, IntentResult, Subscription, IntentOpenOptions } from '@napplet/core'; /** * Napplet NAP intent SDK entrypoint. * * @module */ /** * Invoke a napplet by archetype. * * @param request Archetype dispatch request * @returns Promise resolving to the dispatch result * * @example * ```ts * await intentInvoke({ archetype: 'note', payload: { id: 'abc' } }); * ``` */ declare function intentInvoke(request: IntentRequest): Promise; /** * Open a napplet by archetype. * * @param archetype Role slug to open * @param payload Optional opaque payload * @param opts Optional convention, handler selection, and behavior hints * @returns Promise resolving to the dispatch result * * @example * ```ts * await intentOpen('note', { id: 'abc' }, { convention: 'napplet:note/open' }); * ``` */ declare function intentOpen(archetype: string, payload?: unknown, opts?: IntentOpenOptions): Promise; /** * Check whether the runtime can satisfy an archetype. * * @param archetype Role slug to inspect * @returns Installed-catalog availability */ declare function intentAvailable(archetype: string): Promise; /** * List every archetype the runtime can satisfy. * * @returns Installed-catalog availability records */ declare function intentHandlers(): Promise; /** * Subscribe to runtime-pushed availability changes. * * @param handler Callback for each availability update * @returns Subscription handle */ declare function intentOnChanged(handler: (availability: IntentAvailability) => void): Subscription; export { intentAvailable, intentHandlers, intentInvoke, intentOnChanged, intentOpen };