import { BigMapRequest } from '../types/fa/BigMapRequest';
import { BigMapResponse } from '../types/fa/BigMapResult';
import { MichelineNode } from '../types/micheline/MichelineNode';
import { TezosTransactionParameters } from '../types/operations/Transaction';
import { TezosContractCall } from './TezosContractCall';
import { TezosContractEntrypoint } from './TezosContractEntrypoint';
export declare class TezosContract {
    private readonly address;
    private readonly nodeRPCURL;
    private readonly conseilAPIURL;
    private readonly conseilNetwork;
    private readonly conseilAPIKey;
    private static readonly DEFAULT_ENTRYPOINT;
    entrypoints?: Map<string, TezosContractEntrypoint>;
    entrypointsPromise?: Promise<void>;
    bigMapIDs?: number[];
    bigMapIDsPromise?: Promise<void>;
    constructor(address: string, nodeRPCURL: string, conseilAPIURL: string, conseilNetwork: string, conseilAPIKey: string);
    bigMapValues(request?: BigMapRequest): Promise<BigMapResponse[]>;
    createContractCall(entrypointName: string, value: unknown): Promise<TezosContractCall>;
    parseContractCall(json: TezosTransactionParameters): Promise<TezosContractCall>;
    normalizeContractCallParameters(json: (Partial<TezosTransactionParameters> & Pick<TezosTransactionParameters, 'value'>) | MichelineNode, fallbackEntrypoint?: string): Promise<TezosTransactionParameters>;
    private createDefaultContractCall;
    private createEntrypointContractCall;
    private getBigMapID;
    private waitForBigMapIDs;
    private waitForEntrypoints;
    private nodeRequest;
    private apiRequest;
}
