import type { JsonLd } from '@atlaskit/json-ld-types';
import { type CardAuthFlowOpts, type CardProviderRenderers } from '@atlaskit/link-provider';
import type { CardState } from '@atlaskit/linking-common';
import type { InvokeClientOpts, InvokeServerOpts } from '../../model/invoke-opts';
import type { CardInnerAppearance } from '../../view/Card/types';
export declare function useSmartLink(id: string, url: string): {
    state: CardState;
    actions: {
        register: () => Promise<void>;
        reload: () => void;
        authorize: (appearance: CardInnerAppearance) => void;
        invoke: (opts: InvokeClientOpts | InvokeServerOpts, appearance: CardInnerAppearance) => Promise<JsonLd.Response | void>;
        loadMetadata: () => Promise<void> | undefined;
    };
    config: CardAuthFlowOpts | undefined;
    renderers: CardProviderRenderers | undefined;
    error: Error | null;
    isPreviewPanelAvailable: ((props: {
        ari: string;
    }) => boolean) | undefined;
    openPreviewPanel: ((props: {
        ari: string;
        iconUrl: string | undefined;
        name: string;
        panelData: {
            embedUrl?: string;
        };
        url: string;
    }) => void) | undefined;
};
