import { PublicKey, Transaction } from "@solana/web3.js";
import ProgramLoader from "./ProgramLoader";
import { Userdata as UserdataType } from "../types/userdata";
import { BidReceipt as BidReceiptType } from "../types/bid-receipt";
import { Listing as ListingType } from "../types/listing";
import { BidRequest as BidRequestType } from "../types/bid-request";
export default class Userdata {
    protected readonly programLoader: ProgramLoader;
    private listingProgram;
    private bidReceiptProgram;
    private bidRequestProgram;
    constructor(programLoader: ProgramLoader);
    getAll(): Promise<UserdataType[]>;
    get(userdataPubkey: PublicKey): Promise<UserdataType | null>;
    getOrCreate(userdataPubkey: PublicKey): Promise<UserdataType | Transaction>;
    create(user: PublicKey): Promise<Transaction>;
    getBidReceipts(user: PublicKey): Promise<BidReceiptType[]>;
    getListings(user: PublicKey): Promise<ListingType[]>;
    getBidRequests(user: PublicKey): Promise<BidRequestType[]>;
}
