export interface IConditionalTransferResolvedPayload {
    aliceIdentifier: string;
    bobIdentifier: string;
    channelAddress: string;
    transfer: IFullTransferState;
    channelBalance: IBalance;
    conditionType: string;
    activeTransferIds?: string[];
}
export interface IConditionalTransferCreatedPayload {
    aliceIdentifier: string;
    bobIdentifier: string;
    channelAddress: string;
    transfer: IFullTransferState;
    channelBalance: IBalance;
    conditionType: string;
    activeTransferIds?: string[];
}
export interface IWithdrawResponse {
    channelAddress: string;
    transferId: string;
    transactionHash?: string;
}
export interface IWithdrawQuote {
    channelAddress: string;
    amount: string;
    assetId: string;
    fee: string;
    expiry: string;
    signature?: string;
}
export interface IBalance {
    to: string[];
    amount: string[];
}
export interface IChannelUpdate {
    channelAddress: string;
    fromIdentifier: string;
    toIdentifier: string;
    type: string;
    nonce: number;
    balance: IBalance;
    assetId: string;
    details: unknown;
    aliceSignature?: string | null;
    bobSignature?: string | null;
}
export interface INetworkContext {
    channelFactoryAddress: string;
    transferRegistryAddress: string;
    chainId: number;
}
export interface IFullTransferState<TTransferState = unknown, TTransferResolver = unknown> {
    balance: IBalance;
    assetId: string;
    channelAddress: string;
    inDispute: boolean;
    transferId: string;
    transferDefinition: string;
    transferTimeout: string;
    initialStateHash: string;
    initiator: string;
    responder: string;
    channelFactoryAddress: string;
    chainId: number;
    transferEncodings: string[];
    transferState: TTransferState;
    transferResolver?: TTransferResolver;
    meta?: IFullTransferStateMetadata;
    channelNonce: number;
    initiatorIdentifier: string;
    responderIdentifier: string;
}
export interface IFullTransferStateMetadata {
    cancellationReason?: string;
    createdAt: number;
    [key: string]: unknown;
}
export interface IFullChannelState {
    assetIds: string[];
    balances: IBalance[];
    channelAddress: string;
    alice: string;
    bob: string;
    merkleRoot: string;
    nonce: number;
    processedDepositsA: string[];
    processedDepositsB: string[];
    timeout: string;
    aliceIdentifier: string;
    bobIdentifier: string;
    latestUpdate: IChannelUpdate;
    networkContext: INetworkContext;
    defundNonces: string[];
    inDispute: boolean;
}
export interface IRegisteredTransfer {
    name: string;
    stateEncoding: string;
    resolverEncoding: string;
    definition: string;
    encodedCancel: string;
}
export interface IBasicTransferResponse {
    channelAddress: string;
    transferId: string;
    routingId?: string;
}
export interface IBasicChannelResponse {
    channelAddress: string;
}
//# sourceMappingURL=index.d.ts.map