import { Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
import { SimpleCreateParams, SimpleEditParams, TransactionToSend } from "./config";
export declare function createBasketIx(connection: Connection, basketParams: SimpleCreateParams): Promise<TransactionInstruction>;
export declare function editBasketIx(connection: Connection, basket: PublicKey, basketParams: SimpleEditParams): Promise<TransactionInstruction>;
export declare function editManagerIx(connection: Connection, basket: PublicKey, newManager: PublicKey): Promise<TransactionInstruction>;
export declare function closeBasketIx(connection: Connection, basket: PublicKey): Promise<TransactionInstruction>;
export declare function setMetadataIx(connection: Connection, basket: PublicKey, symbol?: string, name?: string, uri?: string): Promise<TransactionInstruction>;
export declare function buyBasketIx(connection: Connection, user: PublicKey, basket: PublicKey, amount: number): Promise<TransactionInstruction>;
export declare function claimTokensFromBuyStateIxs(connection: Connection, user: PublicKey, buyState: PublicKey): Promise<TransactionInstruction[]>;
export declare function mintFromBuyStateIx(connection: Connection, user: PublicKey, buyState: PublicKey): Promise<TransactionInstruction>;
export declare function buyBasketWithMultipleTokensIx(connection: Connection, user: PublicKey, basket: PublicKey, contribution: {
    token: PublicKey;
    amount: number;
}[]): Promise<TransactionInstruction>;
export declare function buyBasketWithSingleTokenIx(connection: Connection, user: PublicKey, basket: PublicKey, contributionToken: PublicKey, contributionAmount: number): Promise<TransactionInstruction>;
export declare function sellBasketToSingleTokenIx(connection: Connection, user: PublicKey, basket: PublicKey, withdrawToken: PublicKey, amount: number): Promise<TransactionInstruction>;
export declare function sellBasketIx(connection: Connection, user: PublicKey, basket: PublicKey, amount: number, rebalance: number): Promise<TransactionInstruction>;
export declare function claimTokensFromSellStateIxs(connection: Connection, user: PublicKey, basket: PublicKey): Promise<TransactionInstruction[]>;
export declare function cronRebalanceBasketIxs(connection: Connection, user: PublicKey, basketAddress: PublicKey, jupAPIkey?: string, lamports?: number, updateOracles?: boolean, maxAllowedAccounts?: number, softCap?: number, hardCap?: number, underTokens?: number, overTokens?: number): Promise<TransactionToSend[]>;
