import { BridgeEvent, BridgeEventSDKType, FinalityConfirmation, FinalityConfirmationSDKType, WithdrawalConfirmationEvent, WithdrawalConfirmationEventSDKType } from "../../bridge/bridge_event";
import { Long, DeepPartial } from "../../../helpers";
import * as _m0 from "protobufjs/minimal";
/**
 * SkippedBridgeEvent represents a bridge event that the daemon could not parse
 * (e.g. unknown token address) and should be skipped. BridgeEventManager
 * advances NextId past these so the chain does not get stuck.
 */
export interface SkippedBridgeEvent {
    id: number;
    ethChainId: Long;
    ethBlockHeight: Long;
}
/**
 * SkippedBridgeEvent represents a bridge event that the daemon could not parse
 * (e.g. unknown token address) and should be skipped. BridgeEventManager
 * advances NextId past these so the chain does not get stuck.
 */
export interface SkippedBridgeEventSDKType {
    id: number;
    eth_chain_id: Long;
    eth_block_height: Long;
}
/**
 * AddBridgeEventsRequest is a request message that contains a list of new
 * bridge events. The events should be contiguous and sorted by (unique) id.
 */
export interface AddBridgeEventsRequest {
    bridgeEvents: BridgeEvent[];
    /**
     * Parallel array: is_finalized[i] corresponds to bridge_events[i].
     * If empty, all events are treated as finalized (backward compat).
     */
    isFinalized: boolean[];
    /**
     * Event IDs that the daemon could not parse (unknown token, etc.)
     * and should be skipped. BridgeEventManager advances NextId past these.
     */
    skippedEvents: SkippedBridgeEvent[];
}
/**
 * AddBridgeEventsRequest is a request message that contains a list of new
 * bridge events. The events should be contiguous and sorted by (unique) id.
 */
export interface AddBridgeEventsRequestSDKType {
    bridge_events: BridgeEventSDKType[];
    is_finalized: boolean[];
    skipped_events: SkippedBridgeEventSDKType[];
}
/** AddBridgeEventsResponse is a response message for BridgeEventRequest. */
export interface AddBridgeEventsResponse {
}
/** AddBridgeEventsResponse is a response message for BridgeEventRequest. */
export interface AddBridgeEventsResponseSDKType {
}
/**
 * AddFinalityConfirmationsRequest contains confirmations that pending events'
 * ETH blocks are now safe.
 */
export interface AddFinalityConfirmationsRequest {
    confirmations: FinalityConfirmation[];
}
/**
 * AddFinalityConfirmationsRequest contains confirmations that pending events'
 * ETH blocks are now safe.
 */
export interface AddFinalityConfirmationsRequestSDKType {
    confirmations: FinalityConfirmationSDKType[];
}
/** AddFinalityConfirmationsResponse is the response for AddFinalityConfirmations. */
export interface AddFinalityConfirmationsResponse {
}
/** AddFinalityConfirmationsResponse is the response for AddFinalityConfirmations. */
export interface AddFinalityConfirmationsResponseSDKType {
}
/**
 * AddWithdrawalConfirmationsRequest contains withdrawal confirmation events
 * parsed from ReverseBridgeWithSignatures EVM events.
 */
export interface AddWithdrawalConfirmationsRequest {
    confirmations: WithdrawalConfirmationEvent[];
}
/**
 * AddWithdrawalConfirmationsRequest contains withdrawal confirmation events
 * parsed from ReverseBridgeWithSignatures EVM events.
 */
export interface AddWithdrawalConfirmationsRequestSDKType {
    confirmations: WithdrawalConfirmationEventSDKType[];
}
/** AddWithdrawalConfirmationsResponse is the response for AddWithdrawalConfirmations. */
export interface AddWithdrawalConfirmationsResponse {
}
/** AddWithdrawalConfirmationsResponse is the response for AddWithdrawalConfirmations. */
export interface AddWithdrawalConfirmationsResponseSDKType {
}
export declare const SkippedBridgeEvent: {
    encode(message: SkippedBridgeEvent, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SkippedBridgeEvent;
    fromPartial(object: DeepPartial<SkippedBridgeEvent>): SkippedBridgeEvent;
};
export declare const AddBridgeEventsRequest: {
    encode(message: AddBridgeEventsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AddBridgeEventsRequest;
    fromPartial(object: DeepPartial<AddBridgeEventsRequest>): AddBridgeEventsRequest;
};
export declare const AddBridgeEventsResponse: {
    encode(_: AddBridgeEventsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AddBridgeEventsResponse;
    fromPartial(_: DeepPartial<AddBridgeEventsResponse>): AddBridgeEventsResponse;
};
export declare const AddFinalityConfirmationsRequest: {
    encode(message: AddFinalityConfirmationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AddFinalityConfirmationsRequest;
    fromPartial(object: DeepPartial<AddFinalityConfirmationsRequest>): AddFinalityConfirmationsRequest;
};
export declare const AddFinalityConfirmationsResponse: {
    encode(_: AddFinalityConfirmationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AddFinalityConfirmationsResponse;
    fromPartial(_: DeepPartial<AddFinalityConfirmationsResponse>): AddFinalityConfirmationsResponse;
};
export declare const AddWithdrawalConfirmationsRequest: {
    encode(message: AddWithdrawalConfirmationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AddWithdrawalConfirmationsRequest;
    fromPartial(object: DeepPartial<AddWithdrawalConfirmationsRequest>): AddWithdrawalConfirmationsRequest;
};
export declare const AddWithdrawalConfirmationsResponse: {
    encode(_: AddWithdrawalConfirmationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AddWithdrawalConfirmationsResponse;
    fromPartial(_: DeepPartial<AddWithdrawalConfirmationsResponse>): AddWithdrawalConfirmationsResponse;
};
//# sourceMappingURL=bridge.d.ts.map