import { ArcConfig, Beef } from '@bsv/sdk';
import { sdk } from "../../index.client";
export interface ArcServiceConfig {
    name: string;
    url: string;
    arcConfig: ArcConfig;
}
export declare function getTaalArcServiceConfig(chain: sdk.Chain, apiKey: string): ArcServiceConfig;
export declare function makePostTxsToTaalARC(config: ArcServiceConfig): sdk.PostTxsService;
export declare function makePostBeefToTaalARC(config: ArcServiceConfig): sdk.PostBeefService;
export declare function makeGetMerklePathFromTaalARC(config: ArcServiceConfig): sdk.GetMerklePathService;
export declare function getMerklePathFromTaalARC(txid: string, config: ArcServiceConfig, services: sdk.WalletServices): Promise<sdk.GetMerklePathResult>;
/**
 *
 * @param txs All transactions must have source transactions. Will just source locking scripts and satoshis do?? toHexEF() is used.
 * @param config
 */
export declare function postTxsToTaalArcMiner(beef: Beef, txids: string[], config: ArcServiceConfig, services: sdk.WalletServices): Promise<sdk.PostTxsResult>;
export interface ArcMinerGetTxData {
    status: number;
    title: string;
    blockHash: string;
    blockHeight: number;
    competingTxs: null | string[];
    extraInfo: string;
    merklePath: string;
    timestamp: string;
    txid: string;
    txStatus: string;
}
export interface ArcMinerPostTxsData {
    status: number;
    title: string;
    blockHash: string;
    blockHeight: number;
    competingTxs: null | string[];
    extraInfo: string;
    merklePath: string;
    timestamp: string;
    txid: string;
    txStatus: string;
}
export interface ArcMinerPostBeefDataApi {
    status: number;
    title: string;
    blockHash?: string;
    blockHeight?: number;
    competingTxs?: null;
    extraInfo: string;
    merklePath?: string;
    timestamp?: string;
    txid?: string;
    txStatus?: string;
    type?: string;
    detail?: string;
    instance?: string;
}
export declare function postBeefToTaalArcMiner(beef: Beef, txids: string[], config: ArcServiceConfig, services: sdk.WalletServices): Promise<sdk.PostBeefResult>;
export declare function postBeefToArcMiner(beef: Beef | number[], txids: string[], config: ArcServiceConfig): Promise<sdk.PostBeefResult>;
export declare function makePostBeefResult(dd: ArcMinerPostBeefDataApi, miner: ArcServiceConfig, beef: number[], txids: string[]): sdk.PostBeefResult;
export declare function makeErrorResult(error: sdk.WalletError, miner: ArcServiceConfig, beef: number[], txids: string[], dd?: ArcMinerPostBeefDataApi): sdk.PostBeefResult;
//# sourceMappingURL=arcServices.d.ts.map