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