import { BaseApiClient } from './base';
import { SolanaInstructionsResponse, V2ListRequest, V2CancelListingRequest, V2MakeCollectionOfferRequest, V2CancelCollectionOfferRequest, V2TakeCollectionOfferRequest, V2TakeItemOfferRequest, V2MakeItemOfferRequest, V2CancelItemOfferRequest, V2BuyRequest, V2TransferRequest } from '../../types/api';
import { ApiClientOptions } from './base';
import { RetryablePromise } from '../../helpers';
/**
 * V2 API client implementation (primarily for Solana marketplace operations)
 */
export declare class V2ApiClient extends BaseApiClient {
    constructor(options: ApiClientOptions);
    /**
     * Gets instructions to list an NFT
     */
    list(request: V2ListRequest): RetryablePromise<SolanaInstructionsResponse>;
    /**
     * Gets instructions to cancel a listing
     */
    cancelListing(request: V2CancelListingRequest): RetryablePromise<SolanaInstructionsResponse>;
    makeCollectionOffer(request: V2MakeCollectionOfferRequest): RetryablePromise<SolanaInstructionsResponse>;
    cancelCollectionOffer(request: V2CancelCollectionOfferRequest): RetryablePromise<SolanaInstructionsResponse>;
    takeCollectionOffer(request: V2TakeCollectionOfferRequest): RetryablePromise<SolanaInstructionsResponse>;
    /**
     * Gets instructions to accept an offer
     */
    takeItemOffer(request: V2TakeItemOfferRequest): RetryablePromise<SolanaInstructionsResponse>;
    /**
     * Gets instructions to make an offer on an NFT
     */
    makeItemOffer(request: V2MakeItemOfferRequest): RetryablePromise<SolanaInstructionsResponse>;
    /**
     * Gets instructions to cancel an offer
     */
    cancelItemOffer(request: V2CancelItemOfferRequest): RetryablePromise<SolanaInstructionsResponse>;
    /**
     * Gets instructions to buy an NFT
     */
    buy(request: V2BuyRequest): RetryablePromise<SolanaInstructionsResponse>;
    /**
     * Gets instructions to transfer an NFT
     */
    transfer(request: V2TransferRequest): RetryablePromise<SolanaInstructionsResponse>;
    getBaseUrl(): string;
}
