import type { CaipChainId, Hex } from '@metamask/utils'; import type { ExternalScopesObject, InternalScopesObject, InternalScopeString, NormalizedScopeObject, NormalizedScopesObject } from './types.js'; /** * Asserts that a scope string and its associated scope object are supported. * * @param scopeString - The scope string against which to assert support. * @param scopeObject - The scope object against which to assert support. * @param hooks - An object containing the following properties: * @param hooks.isEvmChainIdSupported - A predicate that determines if an EVM chainID is supported. * @param hooks.isNonEvmScopeSupported - A predicate that determines if an non EVM scopeString is supported. * @param hooks.getNonEvmSupportedMethods - A function that returns the supported methods for a non EVM scope. */ export declare const assertScopeSupported: (scopeString: string, scopeObject: NormalizedScopeObject, { isEvmChainIdSupported, isNonEvmScopeSupported, getNonEvmSupportedMethods, }: { isEvmChainIdSupported: (chainId: Hex) => boolean; isNonEvmScopeSupported: (scope: CaipChainId) => boolean; getNonEvmSupportedMethods: (scope: CaipChainId) => string[]; }) => void; /** * Asserts that all scope strings and their associated scope objects are supported. * * @param scopes - The scopes object against which to assert support. * @param hooks - An object containing the following properties: * @param hooks.isEvmChainIdSupported - A predicate that determines if an EVM chainID is supported. * @param hooks.isNonEvmScopeSupported - A predicate that determines if an non EVM scopeString is supported. * @param hooks.getNonEvmSupportedMethods - A function that returns the supported methods for a non EVM scope. */ export declare const assertScopesSupported: (scopes: NormalizedScopesObject, { isEvmChainIdSupported, isNonEvmScopeSupported, getNonEvmSupportedMethods, }: { isEvmChainIdSupported: (chainId: Hex) => boolean; isNonEvmScopeSupported: (scope: CaipChainId) => boolean; getNonEvmSupportedMethods: (scope: CaipChainId) => string[]; }) => void; /** * Asserts that an object is a valid ExternalScopesObject. * * @param obj - The object to assert. */ export declare function assertIsExternalScopesObject(obj: unknown): asserts obj is ExternalScopesObject; /** * Asserts that a scope string is a valid InternalScopeString. * * @param scopeString - The scope string to assert. */ export declare function assertIsInternalScopeString(scopeString: unknown): asserts scopeString is InternalScopeString; /** * Asserts that an object is a valid InternalScopesObject. * * @param obj - The object to assert. */ export declare function assertIsInternalScopesObject(obj: unknown): asserts obj is InternalScopesObject; //# sourceMappingURL=assert.d.ts.map