import { DriverNoVendor } from '@vechain/connex-driver'; import { NewSignerFunc } from './signer'; /** the LazyDriver implements vendor methods at construction but allows attaching NoVendorDriver later to be a full one*/ export declare class LazyDriver implements Connex.Driver { private readonly signer; private _driver; constructor(signer: Promise); private get noVendor(); setNoVendor(driver: DriverNoVendor): void; get genesis(): Connex.Thor.Block; get head(): Connex.Thor.Status['head']; pollHead(): Promise; getBlock(revision: string | number): Promise; getTransaction(id: string, allowPending: boolean): Promise; getReceipt(id: string): Promise; getAccount(addr: string, revision: string): Promise; getCode(addr: string, revision: string): Promise; getStorage(addr: string, key: string, revision: string): Promise; explain(arg: Connex.Driver.ExplainArg, revision: string, cacheHints?: string[]): Promise; filterEventLogs(arg: Connex.Driver.FilterEventLogsArg): Promise[]>; filterTransferLogs(arg: Connex.Driver.FilterTransferLogsArg): Promise[]>; getFeesHistory(newestBlock: string | number, blockCount: number, rewardPercentiles?: number[]): Promise; getPriorityFeeSuggestion(): Promise; signTx(msg: Connex.Vendor.TxMessage, options: Connex.Signer.TxOptions): Promise; signCert(msg: Connex.Vendor.CertMessage, options: Connex.Signer.CertOptions): Promise; } /** * create a no vendor driver * @param node the url of thor node * @param genesis the enforced genesis block */ export declare function createNoVendor(node: string, genesis: Connex.Thor.Block): DriverNoVendor; /** * create a full driver * @param node the url of thor node * @param genesis the enforced genesis block * @param newSigner a function to create signer */ export declare function createFull(node: string, genesis: Connex.Thor.Block, newSigner: NewSignerFunc): Connex.Driver;