import { ChainTechnicalStack } from '../metadata/chainMetadataTypes.js';
import { DerivedHookConfig, HookConfig, HookType } from './types.js';
/**
 * Strips the PREDICATE sub-hook from an aggregation hook config.
 * If the aggregation contains exactly one non-predicate hook, unwraps it.
 * Returns the hook unchanged if no predicate is found or multiple remain.
 */
export declare function stripPredicateSubHook(hook: DerivedHookConfig | string): DerivedHookConfig | string;
export declare function hookTreeContainsRateLimited(hook: HookConfig | undefined): boolean;
export declare const isHookCompatible: ({ hookType, chainTechnicalStack, }: {
    hookType: HookType;
    chainTechnicalStack?: ChainTechnicalStack;
}) => boolean;
//# sourceMappingURL=utils.d.ts.map