import Web3 from 'web3';
import { AccountAliases } from '../../web3-contracts/AccountAliases';
import { SystemContractInstance } from '../SystemContractInstance';
import { TransactionReceipt } from 'web3-eth';
import { QNonPayableTx, uint256, Alias } from '../../types';
export declare class AccountAliasesInstance extends SystemContractInstance<AccountAliases> {
    static readonly registryKey = "governance.accountAliases";
    constructor(web3: Web3, address: string);
    setAlias(alias: string, purpose: uint256, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
    reserve(owner: string, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
    resolve(address: string, purpose: uint256): Promise<string>;
    resolveReverse(address: string, purpose: uint256): Promise<string>;
    resolveBatch(address: string[], purpose: uint256[]): Promise<string[]>;
    resolveReverseBatch(address: string[], purpose: uint256[]): Promise<string[]>;
    getAliasOwner(alias: string): Promise<string>;
    getAliases(owner: string): Promise<Alias[]>;
}
