export interface MatchFn { (input: any): MatchResult; matchName?: string; } export declare type MatchResult = ExtendedMatchResult | boolean; export interface ExtendedMatchResult { message?: string; name?: string; options?: any; pass: boolean; subResults?: MatchResult[]; } export declare function isMatchResult(input: unknown): input is MatchResult; export declare function isExtendedMatchResult(input: unknown): input is ExtendedMatchResult; export declare function isPassed(result?: MatchResult): boolean; export declare function addSubResult(result: MatchResult, subResult: MatchResult): MatchResult;