import { Graph } from '../graph/graph'; import { ExtractionError, InvalidFilterError, InvalidInputError, InvalidTrussError } from '../types/errors'; import { Edge, Node } from '../types/graph'; import { Result } from '../types/result'; /** * Options for ego network extraction */ export interface EgoNetworkOptions { /** Radius (number of hops) for the ego network */ radius: number; /** Seed node IDs to start from */ seedNodes: string[]; /** Whether to include the seed nodes in the result (default: true) */ includeSeed?: boolean; } /** * Filter specification for subgraph filtering */ export interface SubgraphFilter { /** Node filter predicate */ nodePredicate?: (node: N) => boolean; /** Edge filter predicate */ edgePredicate?: (edge: E) => boolean; /** Filter by node attribute values */ nodeAttributes?: Record; /** Filter by edge types */ edgeTypes?: Set; /** Combine multiple filters with AND (default) or OR */ combineMode?: "and" | "or"; } /** * Options for k-truss extraction */ export interface KTrussOptions { /** Minimum triangle support (k) for edges to be included */ k: number; /** Whether to return all k-trusses up to max k */ returnHierarchy?: boolean; } /** * Validates ego network extraction options. * @param graph - The graph to extract from * @param options - Ego network options to validate * @returns Result with validated options or error */ export declare const validateEgoNetworkOptions: (graph: Graph, options: EgoNetworkOptions) => Result; /** * Validates subgraph filter specification. * @param filter - Filter to validate * @returns Result with validated filter or error */ export declare const validateSubgraphFilter: (filter: SubgraphFilter) => Result, InvalidFilterError>; /** * Validates k-truss extraction options. * @param options - K-truss options to validate * @returns Result with validated options or error */ export declare const validateKTrussOptions: (options: KTrussOptions) => Result; //# sourceMappingURL=validators.d.ts.map