import type { GuardAllInFn } from './guardAllIn'; import type { AnyTypeGuard } from './types'; type GuardAll = (...guards: Readonly<[...Guards]>) => GuardAllInFn; /** * Given one or multiple Type Guards as parameters, returns a Type Guard that checks if the given value matches all given Type Guards. * * @example * ```ts * import { guardPipe In, match, matchSchema } from 'type-guard-helpers'; * const isFooBar = guardAll( * matchSchema({ foo: match'foo') }), * matchSchema({ bar: match'bar') }) * ); // val is { readonly foo: "foo"; } & { readonly bar: "bar"; } * ``` * @category Type Guard Composer */ declare const guardAll: GuardAll; export { guardAll }; export type { GuardAll };