import { ClientApplication } from '../../app/types';
export type HookDecorator<DecoratorConfig> = (decoratorConfig: DecoratorConfig) => <HookArgs extends any[], HookResult>(hook: (...args: HookArgs) => HookResult) => (...args: HookArgs) => HookResult;
/**
 * Tracks the hook event and sends it to the server.
 *
 * @param hookName - The name of the hook
 * @param packageName - The name of the package
 * @param app - The client application
 * @param onFinally - The function to call after the tracking is done
 * @internal
 */
export declare const trackHook: (hookName: string, packageName: string, app: ClientApplication, onFinally: () => void) => void;
export declare const withTracking: HookDecorator<string>;
