import createAddHook from './createAddHook';
import createRemoveHook from './createRemoveHook';
import createHasHook from './createHasHook';
import createRunHook from './createRunHook';
import createCurrentHook from './createCurrentHook';
import createDoingHook from './createDoingHook';
import createDidHook from './createDidHook';
import type { Store } from './types';
/**
 * Internal class for constructing hooks. Use `createHooks()` function
 *
 * Note, it is necessary to expose this class to make its type public.
 *
 * @private
 */
export declare class _Hooks {
    actions: Store;
    filters: Store;
    addAction: ReturnType<typeof createAddHook>;
    addFilter: ReturnType<typeof createAddHook>;
    removeAction: ReturnType<typeof createRemoveHook>;
    removeFilter: ReturnType<typeof createRemoveHook>;
    hasAction: ReturnType<typeof createHasHook>;
    hasFilter: ReturnType<typeof createHasHook>;
    removeAllActions: ReturnType<typeof createRemoveHook>;
    removeAllFilters: ReturnType<typeof createRemoveHook>;
    doAction: ReturnType<typeof createRunHook>;
    doActionAsync: ReturnType<typeof createRunHook>;
    applyFilters: ReturnType<typeof createRunHook>;
    applyFiltersAsync: ReturnType<typeof createRunHook>;
    currentAction: ReturnType<typeof createCurrentHook>;
    currentFilter: ReturnType<typeof createCurrentHook>;
    doingAction: ReturnType<typeof createDoingHook>;
    doingFilter: ReturnType<typeof createDoingHook>;
    didAction: ReturnType<typeof createDidHook>;
    didFilter: ReturnType<typeof createDidHook>;
    constructor();
}
export type Hooks = _Hooks;
/**
 * Returns an instance of the hooks object.
 *
 * @return A Hooks instance.
 */
declare function createHooks(): Hooks;
export default createHooks;
//# sourceMappingURL=createHooks.d.ts.map