import type { Address, AnyObject, EmptyObject, TypeCheck } from '@xylabs/sdk-js'; import type { ModuleName } from '../ModuleIdentifier.ts'; export type Direction = 'up' | 'down' | 'all'; export type Visibility = 'public' | 'private' | 'all'; export interface ResolveStrategy { maxDepth?: number; required?: boolean | 'warn' | 'log'; retry?: number; timeout?: number; } export interface ObjectFilterOptions extends ResolveStrategy { direction?: Direction; identity?: TypeCheck; } export interface AddressObjectFilter extends ObjectFilterOptions { address: Address[]; } export declare const isAddressObjectFilter: (value: unknown) => value is AddressObjectFilter; export interface NameObjectFilter extends ObjectFilterOptions { name: ModuleName[]; } export declare const isNameObjectFilter: (value: unknown) => value is NameObjectFilter; export interface QueryObjectFilter extends ObjectFilterOptions { query: string[][]; } export declare const isQueryObjectFilter: (value: unknown) => value is QueryObjectFilter; export type AnyObjectFilter = Partial> & Partial> & Partial>; export type ObjectFilter = ObjectFilterOptions | AddressObjectFilter | NameObjectFilter | QueryObjectFilter; //# sourceMappingURL=ObjectFilter.d.ts.map