/// <reference types="node" />
import * as anchor from "@project-serum/anchor";
import { PublicKey } from "@solana/web3.js";
import { UnlocBurn } from "../types/unloc_burn";
export declare const BUYBACK_GLOBAL_STATE_SEED: Buffer;
export declare const UNLOC_VAULT_SEED: Buffer;
export declare const WSOL_VAULT_SEED: Buffer;
export declare const USDC_VAULT_SEED: Buffer;
export declare let buybackProgram: anchor.Program<UnlocBurn>;
export declare let buybackProgramProvider: anchor.AnchorProvider;
export declare let buybackProgramId: anchor.web3.PublicKey;
export declare const initBuybackProgram: (wallet: any, connection?: anchor.web3.Connection, pid?: anchor.web3.PublicKey) => void;
export declare const getUnlocVaultKey: () => Promise<anchor.web3.PublicKey>;
export declare const getUsdcVaultKey: () => Promise<anchor.web3.PublicKey>;
export declare const getWsolVaultKey: () => Promise<anchor.web3.PublicKey>;
export declare const setBuybackGlobalState: (newAuthority: PublicKey, amm: PublicKey, serumMarket: PublicKey, ammProgram?: PublicKey, serumProgram?: PublicKey, signer?: anchor.web3.PublicKey, signers?: anchor.web3.Keypair[]) => Promise<void>;
export declare const burn: () => Promise<void>;
export declare const buyback: (ammProgram?: PublicKey, serumProgram?: PublicKey) => Promise<void>;
export declare const getBuybackGlobalState: () => Promise<import("@project-serum/anchor/dist/cjs/program/namespace/types").TypeDef<{
    name: "globalState";
    type: {
        kind: "struct";
        fields: [{
            name: "authority";
            type: "publicKey";
        }, {
            name: "ammProgram";
            type: "publicKey";
        }, {
            name: "amm";
            type: "publicKey";
        }, {
            name: "serumProgram";
            type: "publicKey";
        }, {
            name: "serumMarket";
            type: "publicKey";
        }];
    };
}, anchor.IdlTypes<UnlocBurn>>>;
//# sourceMappingURL=index.d.ts.map