import { EAS as EASContract } from '@ethereum-attestation-service/eas-contracts'; import { Overrides } from 'ethers'; import { EIP712Proxy } from './eip712-proxy'; import { Delegated, Offchain } from './offchain'; import { AttestationRequest, DelegatedAttestationRequest, DelegatedProxyAttestationRequest, DelegatedProxyRevocationRequest, DelegatedRevocationRequest, MultiAttestationRequest, MultiDelegatedAttestationRequest, MultiDelegatedProxyAttestationRequest, MultiDelegatedProxyRevocationRequest, MultiDelegatedRevocationRequest, MultiRevocationRequest, RevocationRequest } from './request'; import { Base, Transaction, TransactionProvider, TransactionSigner } from './transaction'; export { Overrides } from 'ethers'; export * from './request'; export interface Attestation { uid: string; schema: string; refUID: string; time: bigint; expirationTime: bigint; revocationTime: bigint; recipient: string; revocable: boolean; attester: string; data: string; } export interface EASOptions { signer?: TransactionSigner | TransactionProvider; proxy?: EIP712Proxy; } export declare function RequireProxy(_target: unknown, _propertyKey: string, descriptor: PropertyDescriptor): PropertyDescriptor; export declare function RequireProxy any>(value: TFn, _context: ClassMethodDecoratorContext): TFn; export declare class EAS extends Base { private proxy?; private delegated?; private offchain?; private version?; private legacyEAS; constructor(address: string, options?: EASOptions); connect(signer: TransactionSigner | TransactionProvider): this; getVersion(): Promise; getAttestation(uid: string): Promise; isAttestationValid(uid: string): Promise; isAttestationRevoked(uid: string): Promise; getTimestamp(data: string): Promise; getRevocationOffchain(user: string, uid: string): Promise; getEIP712Proxy(): EIP712Proxy | undefined; getDelegated(): Promise | Delegated; getOffchain(): Promise | Offchain; attest({ schema, data: { recipient, data, expirationTime, revocable, refUID, value } }: AttestationRequest, overrides?: Overrides): Promise>; attestByDelegation({ schema, data: { recipient, data, expirationTime, revocable, refUID, value }, signature, attester, deadline }: DelegatedAttestationRequest, overrides?: Overrides): Promise>; multiAttest(requests: MultiAttestationRequest[], overrides?: Overrides): Promise>; multiAttestByDelegation(requests: MultiDelegatedAttestationRequest[], overrides?: Overrides): Promise>; revoke({ schema, data: { uid, value } }: RevocationRequest, overrides?: Overrides): Promise>; revokeByDelegation({ schema, data: { uid, value }, signature, revoker, deadline }: DelegatedRevocationRequest, overrides?: Overrides): Promise>; multiRevoke(requests: MultiRevocationRequest[], overrides?: Overrides): Promise>; multiRevokeByDelegation(requests: MultiDelegatedRevocationRequest[], overrides?: Overrides): Promise>; attestByDelegationProxy(request: DelegatedProxyAttestationRequest, overrides?: Overrides): Promise>; multiAttestByDelegationProxy(requests: MultiDelegatedProxyAttestationRequest[], overrides?: Overrides): Promise>; revokeByDelegationProxy(request: DelegatedProxyRevocationRequest, overrides?: Overrides): Promise>; multiRevokeByDelegationProxy(requests: MultiDelegatedProxyRevocationRequest[], overrides?: Overrides): Promise>; timestamp(data: string, overrides?: Overrides): Promise>; multiTimestamp(data: string[], overrides?: Overrides): Promise>; revokeOffchain(uid: string, overrides?: Overrides): Promise>; multiRevokeOffchain(uids: string[], overrides?: Overrides): Promise>; getDomainSeparator(): Promise; getNonce(address: string): Promise; getAttestTypeHash(): Promise; getRevokeTypeHash(): Promise; static getAttestationUID: (schema: string, recipient: string, attester: string, time: bigint, expirationTime: bigint, revocable: boolean, refUID: string, data: string, bump: number) => string; private setDelegated; private setOffchain; private isLegacyContract; }