import type { DerivedActionsBuilder, DerivedActionsConfig, StoreTools } from './types';
/**
 * Creates a reusable action template builder.
 *
 * @example
 * const makeUserActions = actions<API>()({
 *   syncUser(id) {
 *     return (store) => {...}
 *   }
 * });
 *
 * const { syncUser } = makeUserActions(api);
 */
export declare function actions<Api extends StoreTools<any, any, any>>(): DerivedActionsBuilder<Api>;
/**
 * Creates and action group from a config and binds it the provided store
 *
 * @example
 * const userActions = actions(api, {
 *   syncUser(id) {
 *     return (store) => {...}
 *   }
 * });
 *
 * const { syncUser } = userActions;
 */
export declare function actions<Api extends StoreTools<any, any, any>, Actions extends DerivedActionsConfig<Api>>(api: Api, actions: Actions): {
    [key in keyof Actions]: {
        (...params: Parameters<Actions[key]>): ReturnType<ReturnType<Actions[key]>>;
    };
};
export default actions;
