/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { type AztecAddress } from '@aztec/circuits.js';
import { z } from 'zod';
import { TxHash } from '../tx/tx_hash.js';
import { LogId } from './log_id.js';
/**
 * Log filter used to fetch L2 logs.
 * @remarks This filter is applied as an intersection of all it's params.
 */
export type LogFilter = {
    /** Hash of a transaction from which to fetch the logs. */
    txHash?: TxHash;
    /** The block number from which to start fetching logs (inclusive). */
    fromBlock?: number;
    /** The block number until which to fetch logs (not inclusive). */
    toBlock?: number;
    /** Log id after which to start fetching logs. */
    afterLog?: LogId;
    /** The contract address to filter logs by. */
    contractAddress?: AztecAddress;
};
export declare const LogFilterSchema: z.ZodObject<{
    txHash: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, Buffer, string>, TxHash, string>>;
    fromBlock: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
    toBlock: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>>;
    afterLog: z.ZodOptional<z.ZodEffects<z.ZodObject<{
        blockNumber: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
        txIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
        logIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        blockNumber: number;
        txIndex: number;
        logIndex: number;
    }, {
        blockNumber: string | number | bigint;
        txIndex: string | number | bigint;
        logIndex: string | number | bigint;
    }>, LogId, {
        blockNumber: string | number | bigint;
        txIndex: string | number | bigint;
        logIndex: string | number | bigint;
    }>>;
    contractAddress: z.ZodOptional<z.ZodType<AztecAddress, any, string>>;
}, "strip", z.ZodTypeAny, {
    contractAddress?: AztecAddress | undefined;
    txHash?: TxHash | undefined;
    fromBlock?: number | undefined;
    toBlock?: number | undefined;
    afterLog?: LogId | undefined;
}, {
    contractAddress?: string | undefined;
    txHash?: string | undefined;
    fromBlock?: string | number | bigint | undefined;
    toBlock?: string | number | bigint | undefined;
    afterLog?: {
        blockNumber: string | number | bigint;
        txIndex: string | number | bigint;
        logIndex: string | number | bigint;
    } | undefined;
}>;
//# sourceMappingURL=log_filter.d.ts.map