import type { Hex } from 'viem'; import type { ResolverSetterRole } from './resolverRoles.js'; /** The EAC resource that covers every name on a resolver. */ export declare const RESOLVER_ROOT_RESOURCE = 0n; /** * One setter argument a PermissionedResolver role can be narrowed to. Mirrors * the setters `PermissionedResolver.decodeSetter` understands. */ export type ResolverSetterScope = { kind: 'address'; coinType: bigint; } | { kind: 'text'; key: string; } | { kind: 'data'; key: string; } | { kind: 'abi'; contentType: bigint; } | { kind: 'interface'; interfaceId: Hex; }; /** The role a setter scope narrows. */ export declare function resolverSetterScopeRole(scope: ResolverSetterScope): ResolverSetterRole; /** * Compute the EAC resource for a setter argument. Mirrors * `PermissionedResolverLib.resource(uint256 | string | bytes4)`: * `keccak256(abi.encodePacked(argument))`, i.e. the 32-byte word for a coin * type or content type, the raw bytes of a key, the 4 bytes of an interface id. * * @param scope - The setter argument. * @returns The resource ID as a bigint. */ export declare function computeResolverResource(scope: ResolverSetterScope): bigint; /** * Encode the setter calldata `grantSetterRoles(setter, account)` expects: a call * to the setter for the scoped argument, with placeholder name and value. * * @param scope - The setter argument. * @returns ABI-encoded setter calldata. */ export declare function encodeResolverSetterScope(scope: ResolverSetterScope): Hex; //# sourceMappingURL=resolverResource.d.ts.map