import { PublicKey, Transaction } from "@solana/web3.js";
import ProgramLoader from "./ProgramLoader";
import { ApplicationState as ApplicationStateType } from "../types/application-state";
export default class ApplicationState {
    protected readonly programLoader: ProgramLoader;
    private listingProgram;
    private bidReceiptProgram;
    constructor(programLoader: ProgramLoader);
    create(feeAccount: string): Promise<ApplicationStateType>;
    getAll(): Promise<ApplicationStateType[]>;
    get(appKey: PublicKey): Promise<ApplicationStateType>;
    update(appKey: PublicKey, feeAccount: PublicKey): Promise<ApplicationStateType>;
    executeSale(listingPubkey: PublicKey, executor: PublicKey, tokenMintProgramId: PublicKey): Promise<Transaction>;
}
