import { ChannelConstants } from '@statechannels/wallet-core'; import { State } from '../models/channel/state'; import { RichLedgerRequest } from '../models/ledger-request'; interface ReadonlyChannel extends ChannelConstants { myIndex: number; latestTurnNum: number; uniqueStateAt(turn: number): State | undefined; } export declare class LedgerProtocol { /** * * @param ledger Channel model **not mutated during cranking* * @param requests LedgerRequest model **to be mutated during cranking* * @returns states to sign for ledger channel */ crank(ledger: ReadonlyChannel, requests: RichLedgerRequest[]): State[]; private crankAsLeaderInAgreement; private crankAsFollowerInAgreement; private crankAsLeaderInCounterProposal; private crankAsFollowerInProposal; private processAgreedState; private markSuccessesAndInconsistencies; private updateStateSeenAndMissedOps; private resetPendingRequestsToQueued; private markIncludedRequestsAsPending; private identifyPotentialCancellations; private applyCancellations; private compareChangesWithRequests; private determineLedgerState; private buildOutcome; } export {}; //# sourceMappingURL=ledger-protocol.d.ts.map