import type { Abi, ExtractAbiEvents } from 'abitype'; import { type ToBytesErrorType } from '../encoding/toBytes.js'; import { type AbiEventNotFoundErrorType } from '../errors/abi.js'; import { type FilterTypeNotSupportedErrorType } from '../errors/log.js'; import type { ErrorType } from '../errors/utils.js'; import { type Keccak256ErrorType } from '../hash/keccak256.js'; import { type ToEventSelectorErrorType } from '../hash/toEventSelector.js'; import type { ContractEventArgs, ContractEventName } from '../types/contract.js'; import type { Hex } from '../types/data.js'; import type { IsNarrowable, UnionEvaluate } from '../types/utils.js'; import { type EncodeAbiParametersErrorType } from './encode.js'; import { type FormatAbiItemErrorType } from './format.js'; import { type GetAbiItemErrorType } from './getItem.js'; export type EncodeEventTopicsParameters | undefined = ContractEventName, hasEvents = abi extends Abi ? Abi extends abi ? true : [ExtractAbiEvents] extends [never] ? false : true : true, allArgs = ContractEventArgs ? eventName : ContractEventName>, allErrorNames = ContractEventName> = { abi: abi; args?: allArgs | undefined; } & UnionEvaluate extends true ? abi['length'] extends 1 ? { eventName?: eventName | allErrorNames | undefined; } : { eventName: eventName | allErrorNames; } : { eventName?: eventName | allErrorNames | undefined; }> & (hasEvents extends true ? unknown : never); export type EncodeEventTopicsReturnType = [Hex, ...(Hex | Hex[] | null)[]]; export type EncodeEventTopicsErrorType = AbiEventNotFoundErrorType | EncodeArgErrorType | FormatAbiItemErrorType | GetAbiItemErrorType | ToEventSelectorErrorType | ErrorType; export declare function encodeEventTopics | undefined = undefined>(parameters: EncodeEventTopicsParameters): EncodeEventTopicsReturnType; export type EncodeArgErrorType = Keccak256ErrorType | ToBytesErrorType | EncodeAbiParametersErrorType | FilterTypeNotSupportedErrorType | ErrorType; //# sourceMappingURL=encodeEventTopics.d.ts.map