import { ApiResult, GetAccountError, BalancesModel, IBalanceWrapper, IAccount, AccountOpenModel, ResponseError, DelegatesWrapper, DelegateError, CountWrapper, PublicKeyWrapper } from '@gny/interfaces';
import { Connection } from '../connection';
interface OnlyAddress {
    address: string;
}
interface OnlyUserName {
    username: string;
}
export declare class Account {
    private base;
    constructor(connection: Connection);
    openAccount(publicKey: string): Promise<ApiResult<AccountOpenModel, GetAccountError>>;
    getBalance(address: string): Promise<ApiResult<BalancesModel, ResponseError>>;
    getAddressCurrencyBalance(address: string, currency: string): Promise<ApiResult<IBalanceWrapper, "child \"address\" fails because [\"address\" is not a GNY address]" | "child \"publicKey\" fails because [\"publicKey\" is not in the format of a 32 char long hex string buffer]" | "child \"secret\" fails because [\"secret\" is not BIP39 complient]" | "child \"username\" fails because [\"username\" is not an GNY username]" | "child \"issuer\" fails because [\"address\" is not a valid GNY issuer name]" | "child \"asset\" fails because [\"asset\" is not a valid GNY asset name]" | "child \"signature\" fails because [\"signature\" is not a valid GNY signature]" | "child \"positiveOrZeroBigInt\" fails because [\"positiveOrZeroBigInt\" is not a positive or zero big integer amount]" | "child \"ipv4PlusPort\" fails because [\"ipv4PlusPort\" is not a ipv4:port]" | "Invalid params" | "No balance">>;
    getAccountByAddress(address: string): Promise<ApiResult<IAccount, "Server Error">>;
    getAccountByUsername(username: string): Promise<ApiResult<IAccount, "Server Error">>;
    getVotedDelegates(query: OnlyAddress | OnlyUserName): Promise<ApiResult<DelegatesWrapper, DelegateError>>;
    countAccounts(): Promise<ApiResult<CountWrapper, "Server Error">>;
    getPublicKey(address: string): Promise<ApiResult<PublicKeyWrapper, GetAccountError>>;
}
export {};
//# sourceMappingURL=account.d.ts.map