import { BigNumber, Contract } from 'ethers';
export type OrderLink = [
    BigNumber,
    string,
    string,
    string
];
export type SegmentDescriptor = [
    string,
    string,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber,
    BigNumber
];
export type BatchDescriptor = [
    string,
    BigNumber,
    BigNumber,
    string,
    boolean
];
export type BatchDescriptorLink = [
    string,
    BigNumber,
    BigNumber,
    string
];
export type Confirmation = [
    BigNumber,
    BigNumber,
    BigNumber,
    string,
    string,
    string,
    string,
    string,
    string,
    string
];
export interface ConfirmationObject {
    orderTimestamp: BigNumber;
    bidAmount: BigNumber;
    bidAsset: string;
    bidWinner: string;
    executor: string;
    executedTxHash: string;
    createdTxHash: string;
    id: string;
    source: string;
}
export declare class SegmentBook {
    static getSegmentBetween(segmentBookContract: Contract, timestamp: BigNumber): Promise<SegmentDescriptor | null>;
    static lookupSegmentForAccount(segmentBookContract: Contract, forAccount: string): Promise<SegmentDescriptor | null>;
    static lookupSegmentWithBatchForAccount(segmentBookContract: Contract, forAccount: string): Promise<[SegmentDescriptor, string[], string[]] | null>;
    static listUnAppliedBatches(segmentBookContract: Contract, forAccount: string, encodedNetworkId: string, limit: number): Promise<{
        batchDescriptors: BatchDescriptor[];
        batchPayloads: string[];
        batchHashes: string[];
    }>;
    static sortConfirmationsByOrderTimestamp(confirmations: Confirmation[]): Confirmation[];
    static createBatchPayloadsOfConfirmations(index: number, confirmations: Confirmation[], currentCommitteeRoot: Record<string, string>): Map<string, string>;
    static createGMPPayloadsOfConfirmations(confirmations: Confirmation[]): Map<string, string>;
}
//# sourceMappingURL=segmentBook.d.ts.map