import { type Fr } from '@aztec/foundation/fields';
/**
 * Interface of classes allowing for the retrieval of L1 to L2 messages.
 */
export interface L1ToL2MessageSource {
    /**
     * Gets new L1 to L2 message (to be) included in a given block.
     * @param blockNumber - L2 block number to get messages for.
     * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
     */
    getL1ToL2Messages(blockNumber: bigint): Promise<Fr[]>;
    /**
     * Gets the L1 to L2 message index in the L1 to L2 message tree.
     * @param l1ToL2Message - The L1 to L2 message.
     * @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
     */
    getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
    /**
     * Gets the number of the latest L2 block processed by the implementation.
     * @returns The number of the latest L2 block processed by the implementation.
     */
    getBlockNumber(): Promise<number>;
}
//# sourceMappingURL=l1_to_l2_message_source.d.ts.map