import { RPC, RPCOptions } from "rpc-request";
export declare type formatParam = {
  format?: "json" | "hex" | "bin";
};
export declare type BlockParams = formatParam & {
  hash: string;
};
export declare type BlockHeightParams = formatParam & {
  height: number;
};
export declare type Outpoint = {
  txid: string;
  n: number;
};
export declare type UtxosParams = formatParam & {
  checkmempool?: boolean;
  outpoints: Outpoint[] | Outpoint;
};
export declare type HeaderParams = BlockParams & {
  count?: number;
};
export declare type TxParams = formatParam & {
  txid: string;
};
export declare type RESTIniOptions = RPCOptions & {
  url?: string;
};
export declare class RESTClient extends RPC {
  constructor({ url, port, timeout, ...options }?: RESTIniOptions);
  getBlock({ hash, format }: BlockParams): Promise<any>;
  getBlockNoTxDetails({ hash, format }: BlockParams): Promise<any>;
  getBlockHashByHeight({ height, format }: BlockHeightParams): Promise<any>;
  getChainInfo(): Promise<any>;
  getUtxos({ checkmempool, outpoints, format }: UtxosParams): Promise<any>;
  getHeaders({ count, hash, format }: HeaderParams): Promise<any>;
  getMemPoolContents(): Promise<any>;
  getMemPoolInfo(): Promise<any>;
  getTx({ txid, format }: TxParams): Promise<any>;
}
