export declare type Dictionary<T> = {
    [k: string]: T;
};
export declare type EnsNetworkIdMap = {
    [key: number]: string;
};
export interface BlockhanNetworkUrlMap {
    [key: string]: string | undefined;
}
export interface ProxyReaderMap {
    [key: string]: string;
}
export declare type NetworkIdMap = {
    [key: number]: string;
};
export declare type ProxyData = {
    owner: string;
    resolver: string;
    values: string[];
};
export declare type ProviderParams = unknown[] | object;
export interface RequestArguments {
    method: string;
    params?: ProviderParams;
}
export declare type TransactionRequest = {
    to?: unknown;
    from?: unknown;
    nonce?: unknown;
    gasLimit?: unknown;
    gasPrice?: unknown;
    data?: unknown;
    value?: unknown;
    chainId?: unknown;
};
export interface EventData {
    address: string;
    blockHash?: string;
    blockNumber?: string;
    data: string;
    logIndex?: string;
    removed?: boolean;
    topics: string[];
    transactionHash?: string;
    transactionIndex: string;
}
export interface EventFilter {
    address?: string;
    topics?: Array<string>;
    fromBlock?: string;
    toBlock?: string;
}
export declare type RpcProviderTestCase = {
    request: RpcProviderRequestBody;
    response: string | RpcProviderLogEntry[];
}[];
export interface RpcProviderRequestBody {
    data?: string;
    to?: string;
    fromBlock?: string | number;
    toBlock?: string;
    address?: string;
    topics?: string[];
}
export interface RpcProviderLogEntry {
    blockNumber?: number;
    blockHash?: string;
    transactionIndex?: number;
    removed?: boolean;
    address: string;
    data: string;
    topics: string[];
    transactionHash?: string;
    logIndex?: number;
}
/**
 * Default structure of ZnsResolution records
 * @typedef {object} ZnsResolution
 */
export declare type ZnsResolution = {
    crypto?: Dictionary<{
        address?: string;
        [key: string]: any;
    }>;
    ttl?: string;
    [key: string]: any;
};
export declare type Bip44Constants = [number, string, string];
export declare type owner = string;
export declare type ttl = string;
export declare type nodeHash = string;
export declare const NullAddress = "0x0000000000000000000000000000000000000000";
export declare enum NullAddresses {
    '0x' = 0,
    '0x0000000000000000000000000000000000000000' = 1,
    '0x0000000000000000000000000000000000000000000000000000000000000000' = 2
}
export declare function isNullAddress(key: string | null | undefined): key is undefined | null;
export declare const EthCoinIndex = "60";
