import { IntentPayload, type SendIntentOptions, type SendIntentWithResponseOptions } from '@dynatrace-sdk/navigation'; /** * @internal */ export interface IntentParams { payload: IntentPayload; options?: SendIntentOptions; } interface UseIntentBaseReturn { /** A static intent link, generated with `getIntentLink()` */ link: string; iconURL: string | null; } /** * @internal */ export interface UseIntentReturn extends UseIntentBaseReturn { send: () => void; } /** * Wrapper around `@dynatrace-sdk/navigation`s `sendIntent()` method for easier integration with react. * @internal */ export declare function useIntent({ payload, options }: IntentParams): UseIntentReturn; interface IntentIdleState { status: 'idle'; } interface IntentPendingState { status: 'pending'; } interface IntentSuccessState { status: 'success'; data: Record; } interface IntentErrorState { status: 'error'; error: Error; } type IntentState = IntentIdleState | IntentPendingState | IntentSuccessState | IntentErrorState; /** * @internal */ export interface IntentWithResponseParams { payload: IntentPayload; options: SendIntentWithResponseOptions; } /** * @internal */ export interface UseIntentWithResponseReturn extends UseIntentBaseReturn { send: () => Promise; /** The current state of the `sendIntentWithResponse()` call. */ state: IntentState; } /** * Wrapper around `@dynatrace-sdk/navigation`s `sendIntentWithResponse()` method for easier integration with react. * @internal */ export declare function useIntentWithResponse({ payload, options, }: IntentWithResponseParams): UseIntentWithResponseReturn; export {};