///
///
import { AccountInfo, PublicKey } from "@solana/web3.js";
type DecodeFn = (data: Uint8Array) => T;
export interface Stringable {
toString(): string;
}
export interface AccountInfoWithAddress extends Partial>, Stringable {
address: PublicKey;
}
export declare function buildDecodedAccountInfoWithAddress(address: PublicKey, info: AccountInfo | null, decoder: DecodeFn): AccountInfoWithAddress;
export declare class UpdatableAccountInfo implements AccountInfoWithAddress {
private accountAddress;
private decoder;
private accountInfo;
constructor(accountAddress: PublicKey, info: AccountInfo | null, decoder: DecodeFn);
toString(): string;
setData(newData: AccountInfo): void;
get isEmpty(): boolean;
get address(): PublicKey;
get lamports(): number | undefined;
get owner(): PublicKey | undefined;
get data(): T | null | undefined;
get executable(): boolean | undefined;
}
export {};
//# sourceMappingURL=accounts.d.ts.map