///
import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { Response } from './response';
import { Operation } from './operation';
export declare type KeyType = 'Memo' | 'Posting' | 'Active';
export declare type Currency = 'STEEM' | 'SBD';
export declare type DelegationUnit = 'VESTS' | 'SP';
export declare class SteemKeychainService {
private ngZone;
constructor(ngZone: NgZone);
readonly steemKeychainAvailable: boolean;
requestHandshake(): Observable;
requestVerifyKey(account: string, encryptedMessage: string, keyType: KeyType): Observable;
requestSignBuffer(account: string, message: string | Buffer, keyType: KeyType): Observable;
requestBroadcast(account: string, operations: Operation[], keyType: KeyType): Observable;
requestSignedCall(account: string, method: string, params: any, keyType: KeyType): Observable;
requestPost(parentAuthor: string, parentPermlink: string, author: string, permlink: string, title: string, body: string, jsonMetadata?: string, options?: string): Observable;
requestVote(voter: string, author: string, permlink: string, weight: number): Observable;
requestCustomJson(account: string, displayMessage: string, id: string, customJson: string, key?: KeyType): Observable;
requestTransfer(from: string, to: string, amount: number, memo: string, currency: Currency, enforce?: boolean): Observable;
requestDelegation(delegator: string, delegatee: string, amount: number, unit: DelegationUnit): Observable;
call(method: string, args: any[], callbackIndex?: number): Observable;
}