import { Wallet, Signer } from 'ethers';
import { Address, SubgraphDeploymentID } from '@graphprotocol/common-ts';
import { Allocation } from './types';
export declare const allocationSigner: (wallet: Wallet, allocation: Allocation) => string;
/**
 * Derive an allocation ID that is specific to the current epoch,
 * the deployment ID, the indexer's private key AND that doesn't
 * collide with any existing allocations; this is achieved by
 * deriving a key pair from the indexer's private key using the
 * path [currentEpoch, ...<deployment ID as bytes>, <number 0...100>].
 *
 * The unique index (number between 0 and 100) is identified by
 * enumerating all numbers and using the first where the derivation
 * does not collidate with any of the current allocations; this is
 * the smallest unique index not currently being used
 */
export declare const uniqueAllocationID: (indexerMnemonic: string, epoch: number, deployment: SubgraphDeploymentID, existingIDs: Address[]) => {
    allocationSigner: Signer;
    allocationId: Address;
};
