import { AttachParams } from './types.mjs';
import { E as EntityDataParams } from '../clientEntTypes-pqnB95m3.mjs';
import 'react';

interface CancelParams {
    productId: string;
    entityId?: string;
    cancelImmediately?: boolean;
}
interface TrackParams {
    featureId?: string;
    eventName?: string;
    entityId?: string;
    value?: number;
    idempotencyKey?: string;
    entityData?: EntityDataParams;
}

declare const useAutumn: () => {
    attach: ({ productId, entityId, options, successUrl, forceCheckout, metadata, dialog, callback, entityData, openInNewTab, }: AttachParams) => Promise<any>;
    check: ({ featureId, productId, entityId, requiredBalance, sendEvent, withPreview, dialog, entityData, }: {
        featureId?: string;
        productId?: string;
        entityId?: string;
        requiredBalance?: number;
        sendEvent?: boolean;
        withPreview?: "formatted" | "raw";
        dialog?: (data: any) => JSX.Element | React.ReactNode;
        entityData?: EntityDataParams;
    }) => Promise<any>;
    track: (params: TrackParams) => Promise<any>;
    cancel: (params: CancelParams) => Promise<any>;
    openBillingPortal: (options?: {
        returnUrl?: string;
    }) => Promise<any>;
};

export { useAutumn };
