import { AddressWithCursor } from '../../../types/address'; import { ExtendedPublicKey, PublicKey } from '../../../types/key'; import { _AnyProtocol, _BaseProtocol, BaseGeneric } from '../../protocol'; export declare type MultiAddressPublicKeyExtension = T extends _BaseProtocol ? _AddressResult extends AddressWithCursor ? MultiAddressPublicKeyProtocol<_AddressCursor, _PublicKey> : MultiAddressPublicKeyProtocol<_BaseAddressCursor, _PublicKey> : never; export interface MultiAddressPublicKeyProtocol<_AddressCursor extends BaseGeneric['AddressCursor'] = BaseGeneric['AddressCursor'], _PublicKey extends PublicKey | ExtendedPublicKey = PublicKey | ExtendedPublicKey> { getInitialAddressesFromPublicKey(publicKey: _PublicKey): Promise[]>; getNextAddressFromPublicKey(publicKey: _PublicKey, cursor: _AddressCursor): Promise | undefined>; }