///
import JSONValue, { JSONType } from "../utils/json";
import { Level as LevelType } from "../core/level";
import { Block as BlockType } from "../core/block";
import { Proof as ProofType } from "../core/proof";
import { TicketID } from "../core/ticket-id";
declare type endpoint = {
uri: string;
expectedStatus: number;
parse: (json: JSONValue) => T | null;
};
export declare type endpoints = {
GET_CHAIN_INFO: endpoint<{
consensus: string;
isSync: boolean;
}>;
GET_CURRENT_LEVEL: endpoint;
GET_BLOCK_BY_LEVEL: (level: LevelType) => endpoint;
GET_BLOCK_BY_HASH: (hash: string) => endpoint;
GET_GENESIS: endpoint;
GET_CURRENT_BLOCK: endpoint;
GET_BALANCE: (address: string, ticket_id: TicketID) => endpoint;
GET_PROOF: (operation_hash: string) => endpoint;
OPERATIONS: endpoint;
GET_VM_STATE: endpoint;
ENCODE_OPERATION: endpoint;
};
export declare const makeEndpoints: (root: string) => endpoints;
export declare const get: (endpoint: endpoint) => Promise;
export declare const post: (endpoint: endpoint, content: unknown) => Promise;
export {};