/// <reference types="steem-js-alpha" />
import * as steem from "steem";
import { EffectuatedSetRules } from "../../protocol/EffectuatedSetRules";
import { SteemOperationNumber } from "../../blockchain/SteemOperationNumber";
import { Api } from "../Api";
import { Protocol } from "../../protocol/Protocol";
import { EffectuatedWiseOperation } from "../../protocol/EffectuatedWiseOperation";
export declare class DirectBlockchainApi extends Api {
    private static DEFAULT_STEEM_API_ENDPOINT_URL;
    private steem;
    private postingWif;
    private sendEnabled;
    private protocol;
    constructor(protocol: Protocol, postingWif?: string, steemOptions?: steem.SteemJsOptions);
    name(): string;
    setSendEnabled(enabled: boolean): void;
    loadPost(author: string, permlink: string): Promise<steem.SteemPost>;
    loadRulesets(forWhom: {
        delegator?: string;
        voter?: string;
    }, atMoment: SteemOperationNumber): Promise<EffectuatedSetRules[]>;
    sendToBlockchain(operations: steem.OperationWithDescriptor[]): Promise<SteemOperationNumber>;
    getLastConfirmationMoment(delegator: string): Promise<SteemOperationNumber>;
    getWiseOperations(account: string, until: Date): Promise<EffectuatedWiseOperation[]>;
    getWiseOperationsRelatedToDelegatorInBlock(delegator: string, blockNum: number, skipDelegatorCheck?: boolean, delayOnNoBlockMs?: number): Promise<EffectuatedWiseOperation[]>;
    private getWiseOperationsRelatedToDelegatorInBlock_processBlock;
    private getWiseOperationsRelatedToDelegatorInBlock_processTransaction;
    /**
     * This function is specific only to DirectBlockchainApi. It returns all wise operations in block
     * (without checking delegator).
     * @param blockNum - number of the block.
     * @param protocol - Protocol object.
     */
    getAllWiseOperationsInBlock(blockNum: number): Promise<EffectuatedWiseOperation[]>;
    getDynamicGlobalProperties(): Promise<steem.DynamicGlobalProperties>;
    getAccountInfo(username: string): Promise<steem.AccountInfo>;
    getBlogEntries(username: string, startFrom: number, limit: number): Promise<steem.BlogEntry[]>;
}
