import type { Address, Hex } from 'viem'; export type DomainEventKey = 'NewOwner' | 'NewResolver' | 'Transfer' | 'NewTTL' | 'WrappedTransfer' | 'NameWrapped' | 'NameUnwrapped' | 'FusesSet' | 'ExpiryExtended'; export type RegistrationEventKey = 'NameRegistered' | 'NameRenewed' | 'NameTransferred'; export type ResolverEventKey = 'AddrChanged' | 'MulticoinAddrChanged' | 'NameChanged' | 'AbiChanged' | 'PubkeyChanged' | 'TextChanged' | 'ContenthashChanged' | 'InterfaceChanged' | 'AuthorisationChanged' | 'VersionChanged'; type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; Bytes: Hex; BigInt: string; }; type Account = { id: Address; }; type Resolver = { id: Hex; }; export type BaseDomainEvent = { type: DomainEventKey; id: Scalars['ID']; blockNumber: Scalars['Int']; transactionID: Scalars['Bytes']; }; export type Transfer = BaseDomainEvent & { type: 'Transfer'; owner: Account; }; export type NewOwner = BaseDomainEvent & { type: 'NewOwner'; owner: Account; }; export type NewResolver = BaseDomainEvent & { type: 'NewResolver'; resolver: Resolver; }; export type NewTtl = BaseDomainEvent & { type: 'NewTTL'; ttl: Scalars['BigInt']; }; export type WrappedTransfer = BaseDomainEvent & { type: 'WrappedTransfer'; owner: Account; }; export type NameWrapped = BaseDomainEvent & { type: 'NameWrapped'; name: Scalars['String']; fuses: Scalars['Int']; owner: Account; expiryDate: Scalars['BigInt']; }; export type NameUnwrapped = BaseDomainEvent & { type: 'NameUnwrapped'; owner: Account; }; export type FusesSet = BaseDomainEvent & { type: 'FusesSet'; fuses: Scalars['Int']; }; export type ExpiryExtended = BaseDomainEvent & { type: 'ExpiryExtended'; expiryDate: Scalars['BigInt']; }; export type DomainEvent = Transfer | NewOwner | NewResolver | NewTtl | WrappedTransfer | NameWrapped | NameUnwrapped | FusesSet | ExpiryExtended; export type BaseRegistrationEvent = { type: RegistrationEventKey; id: Scalars['ID']; blockNumber: Scalars['Int']; transactionID: Scalars['Bytes']; }; export type NameRegistered = BaseRegistrationEvent & { type: 'NameRegistered'; registrant: Account; expiryDate: Scalars['BigInt']; }; export type NameRenewed = BaseRegistrationEvent & { type: 'NameRenewed'; expiryDate: Scalars['BigInt']; }; export type NameTransferred = BaseRegistrationEvent & { type: 'NameTransferred'; newOwner: Account; }; export type RegistrationEvent = NameRegistered | NameRenewed | NameTransferred; export type BaseResolverEvent = { type: ResolverEventKey; id: Scalars['ID']; blockNumber: Scalars['Int']; transactionID: Scalars['Bytes']; }; export type AddrChanged = BaseResolverEvent & { type: 'AddrChanged'; addr: Account; }; export type MulticoinAddrChanged = BaseResolverEvent & { type: 'MulticoinAddrChanged'; coinType: Scalars['BigInt']; multiaddr: Scalars['Bytes']; }; export type NameChanged = BaseResolverEvent & { type: 'NameChanged'; name: Scalars['String']; }; export type AbiChanged = BaseResolverEvent & { type: 'AbiChanged'; contentType: Scalars['BigInt']; }; export type PubkeyChanged = BaseResolverEvent & { type: 'PubkeyChanged'; x: Scalars['Bytes']; y: Scalars['Bytes']; }; export type TextChanged = BaseResolverEvent & { type: 'TextChanged'; key: Scalars['String']; value?: Scalars['String'] | null; }; export type ContenthashChanged = BaseResolverEvent & { type: 'ContenthashChanged'; hash: Scalars['Bytes']; }; export type InterfaceChanged = BaseResolverEvent & { type: 'InterfaceChanged'; interfaceID: Scalars['Bytes']; implementer: Scalars['Bytes']; }; export type AuthorisationChanged = BaseResolverEvent & { type: 'AuthorisationChanged'; owner: Scalars['Bytes']; target: Scalars['Bytes']; isAuthorized: Scalars['Boolean']; }; export type VersionChanged = BaseResolverEvent & { type: 'VersionChanged'; version: Scalars['BigInt']; }; export type ResolverEvent = AddrChanged | MulticoinAddrChanged | NameChanged | AbiChanged | PubkeyChanged | TextChanged | ContenthashChanged | InterfaceChanged | AuthorisationChanged | VersionChanged; export {}; //# sourceMappingURL=events.d.ts.map