import { Program, web3 } from '@project-serum/anchor';
import { Hadeswap } from './idl/hadeswap';
import { BondingCurveType, OrderType } from './types';
import { PublicKey } from '@solana/web3.js';
export declare const AUTHORIZATION_RULES_PROGRAM: web3.PublicKey;
declare type ReturnAnchorProgram = (programId: web3.PublicKey, connection: web3.Connection) => Program<Hadeswap>;
export declare const returnAnchorProgram: ReturnAnchorProgram;
declare type GetMetaplexEditionPda = (mintPubkey: web3.PublicKey) => web3.PublicKey;
export declare const getMetaplexEditionPda: GetMetaplexEditionPda;
declare type GetMetaplexMetadataPda = (mintPubkey: web3.PublicKey) => web3.PublicKey;
export declare const getMetaplexMetadataPda: GetMetaplexMetadataPda;
export declare const anchorRawBNsAndPubkeysToNumsAndStrings: (rawAccount: {
    account: any;
    publicKey: PublicKey;
}) => any;
export declare const enumToAnchorEnum: (anyEnum: any) => {
    [x: number]: {};
};
export declare const calculateNextSpotPrice: ({ orderType, spotPrice, delta, bondingCurveType, counter, }: {
    orderType: OrderType;
    spotPrice: number;
    delta: number;
    bondingCurveType: BondingCurveType;
    counter: number;
}) => number;
export declare const deriveXykBaseSpotPriceFromCurrentSpotPrice: ({ currentSpotPrice, delta, counter, }: {
    currentSpotPrice: number;
    delta: number;
    counter: number;
}) => number;
export declare const getSumOfOrdersSeries: ({ amountOfOrders, orderType, spotPrice, delta, bondingCurveType, counter, }: {
    amountOfOrders: number;
    orderType: OrderType;
    spotPrice: number;
    delta: number;
    bondingCurveType: BondingCurveType;
    counter: number;
}) => number;
export declare const calculatePricesArray: ({ starting_spot_price, delta, amount, bondingCurveType, orderType, counter, }: {
    starting_spot_price: number;
    delta: number;
    amount: number;
    bondingCurveType: BondingCurveType;
    orderType: OrderType;
    counter: number;
}) => {
    array: any;
    total: any;
};
export declare const getMetaplexMetadata: (mintPubkey: web3.PublicKey) => web3.PublicKey;
export declare const findTokenRecordPda: (mint: web3.PublicKey, token: web3.PublicKey) => web3.PublicKey;
export declare const findRuleSetPDA: (payer: web3.PublicKey, name: string) => Promise<web3.PublicKey>;
export {};
