import { ethers } from "ethers";
import { APIConfig } from "../helpers/apiHelpers";
import { Quote } from "../types";
export type TransferOctaParams = {
    amount: string | number;
    overrides?: Omit<ethers.Overrides, "from" | "value" | "chainId">;
};
export declare class OctaService {
    readonly signer: ethers.Signer;
    readonly apiConfig: APIConfig;
    private apiService;
    constructor(signer: ethers.Signer, apiConfig: APIConfig, sdkOptions?: {
        sandbox?: boolean;
    });
    /**
     * Fetches a quote for Bitcoin transfer.
     *
     * @returns {Promise<Quote>} A promise that resolves to a Quote object.
     */
    fetchQuote(symbol?: string): Promise<Quote>;
    /**
     * Fetches the Bitcoin vault address.
     *
     * @returns {Promise<{ address: string }>} A promise that resolves to the vault address.
     */
    fetchVault(symbol?: string): Promise<{
        address: string;
        tag?: string;
    }>;
    transferOcta(params: TransferOctaParams): Promise<ethers.TransactionReceipt | null>;
}
