import type { JsonLd } from '@atlaskit/json-ld-types/jsonld'; import type { CardAuthFlowOpts, CardProviderRenderers } from '@atlaskit/link-provider/types'; import type { CardState } from '@atlaskit/linking-common/store'; import type { CardAppearance } from '@atlaskit/linking-common/types'; import type { InvokeClientOpts, InvokeServerOpts } from '../../model/invoke-opts'; import type { CardInnerAppearance } from '../../view/Card/types'; /** * Hook for smart link state and actions. * @param id - Unique identifier for the smart link * @param url - The URL to resolve * @param appearance - Card appearance hint for ORS to optimize response payload. * When 'inline', ORS returns minimal data (title, status). * When 'block' or 'embed', ORS returns full data including summary. */ export declare function useSmartLink(id: string, url: string, appearance?: CardAppearance): { actions: { authorize: (appearance: CardInnerAppearance) => void; invoke: (opts: InvokeClientOpts | InvokeServerOpts, appearance: CardInnerAppearance) => Promise; loadMetadata: () => Promise | undefined; register: () => Promise; reload: (appearance?: CardAppearance) => void; }; config: CardAuthFlowOpts | undefined; error: Error | null; isPreviewPanelAvailable: ((props: { ari: string; }) => boolean) | undefined; isPreviewRestricted: ((props: { ari: string; }) => boolean) | undefined; openPreviewPanel: ((props: { ari: string; iconUrl: string | undefined; name: string; panelData: { embedUrl?: string; }; url: string; }) => void) | undefined; renderers: CardProviderRenderers | undefined; state: CardState; };