import type { HashedEvent, TrustedEvent } from "./Events.js"; export declare const EPOCH = 1609459200; export declare const neverFilter: { ids: never[]; }; export type Filter = { ids?: string[]; kinds?: number[]; authors?: string[]; since?: number; until?: number; limit?: number; search?: string; [key: `#${string}`]: string[]; }; export declare const matchFilter: (filter: Filter, event: E) => boolean; export declare const matchFilters: (filters: Filter[], event: E) => boolean; export declare const getFilterId: (filter: Filter) => string; export declare const calculateFilterGroup: ({ since, until, limit, search, ...filter }: Filter) => string; export declare const unionFilters: (filters: Filter[]) => Filter[]; export declare const intersectFilters: (groups: Filter[][]) => Filter[]; export declare const getIdFilters: (idsOrAddresses: string[]) => Filter[]; export declare const getReplyFilters: (events: TrustedEvent[], filter?: Filter) => ({ "#a": string[]; ids?: string[]; kinds?: number[]; authors?: string[]; since?: number; until?: number; limit?: number; search?: string; } | { "#e": string[]; ids?: string[]; kinds?: number[]; authors?: string[]; since?: number; until?: number; limit?: number; search?: string; })[]; export declare const addRepostFilters: (filters: Filter[]) => Filter[]; export declare const getFilterGenerality: (filter: Filter) => number; export declare const guessFilterDelta: (filters: Filter[], max?: number) => number; export declare const getFilterResultCardinality: (filter: Filter) => number | undefined; export declare const trimFilter: (filter: Filter) => Filter; export declare const trimFilters: (filters: Filter[]) => Filter[]; //# sourceMappingURL=Filters.d.ts.map