import { PublicKey, Transaction, type TransactionInstruction } from "@solana/web3.js"; import type { ClientContext } from "../../context"; import { DepositSource } from "../../shared"; import type { Market } from "../market"; export declare class DepositBuilder { private readonly client; private userValue?; private mintValue?; private amountValue?; private marketValue?; private depositSourceValue?; constructor(client: ClientContext, depositSource: DepositSource); user(user: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; market(market: Market): this; depositSource(source: DepositSource): this; withMarketDepositSource(market: Market): this; withGlobalDepositSource(): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class WithdrawBuilder { private readonly client; private userValue?; private mintValue?; private amountValue?; private marketValue?; private depositSourceValue?; private outcomeIndexValue?; constructor(client: ClientContext, depositSource: DepositSource); user(user: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; market(market: Market): this; depositSource(source: DepositSource): this; outcomeIndex(index: number): this; withMarketDepositSource(market: Market): this; withGlobalDepositSource(): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class MergeBuilder { private readonly client; private userValue?; private mintValue?; private amountValue?; private marketValue?; constructor(client: ClientContext); user(user: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; market(market: Market): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class RedeemWinningsBuilder { private readonly client; private userValue?; private marketValue?; private mintValue?; private amountValue?; private outcomeIndexValue?; constructor(client: ClientContext); user(user: PublicKey): this; market(market: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; outcomeIndex(index: number): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class WithdrawFromPositionBuilder { private readonly client; private userValue?; private marketValue?; private mintValue?; private amountValue?; private outcomeIndexValue?; constructor(client: ClientContext); user(user: PublicKey): this; market(market: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; outcomeIndex(index: number): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class InitPositionTokensBuilder { private readonly client; private payerValue?; private userValue?; private marketValue?; private depositMintsValue?; private recentSlotValue?; private numOutcomesValue?; constructor(client: ClientContext); payer(payer: PublicKey): this; user(user: PublicKey): this; market(market: PublicKey): this; depositMints(mints: PublicKey[]): this; recentSlot(slot: bigint): this; numOutcomes(n: number): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } /** * Operator-only builder for extending an existing position ALT after a market * adds new deposit mints. */ export declare class ExtendPositionTokensBuilder { private readonly client; private operatorValue?; private userValue?; private marketValue?; private lookupTableValue?; private depositMintsValue?; private numOutcomesValue?; constructor(client: ClientContext); operator(operator: PublicKey): this; user(user: PublicKey): this; market(market: PublicKey): this; lookupTable(lookupTable: PublicKey): this; depositMints(mints: PublicKey[]): this; numOutcomes(n: number): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class DepositToGlobalBuilder { private readonly client; private userValue?; private mintValue?; private amountValue?; private altContextValue?; constructor(client: ClientContext); user(user: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; createAlt(recentSlot: bigint): this; extendAlt(lookupTable: PublicKey): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class WithdrawFromGlobalBuilder { private readonly client; private userValue?; private mintValue?; private amountValue?; constructor(client: ClientContext); user(user: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } export declare class GlobalToMarketDepositBuilder { private readonly client; private userValue?; private marketValue?; private mintValue?; private amountValue?; private numOutcomesValue?; constructor(client: ClientContext); user(user: PublicKey): this; market(market: PublicKey): this; mint(mint: PublicKey): this; amount(amount: bigint): this; numOutcomes(n: number): this; buildIx(): TransactionInstruction; buildTx(): Transaction; signAndSubmit(): Promise; } //# sourceMappingURL=builders.d.ts.map