import { type TSchema } from '../../types/schema.mjs'; import { type TUnion } from '../../types/union.mjs'; import { type TExtends, ExtendsResult } from '../../extends/index.mjs'; import { type TEvaluateType } from '../evaluate/evaluate.mjs'; import { type TEvaluateUnion } from '../evaluate/evaluate.mjs'; type TExcludeType, Result extends TSchema[] = Check extends ExtendsResult.TExtendsTrueLike ? [] : [Left]> = Result; type TExcludeUnion = (Left extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExcludeUnion]> : Result); export type TExcludeOperation, Canonical extends TSchema[] = Evaluated extends TUnion ? Types : [Evaluated], Remaining extends TSchema[] = TExcludeUnion, Result extends TSchema = TEvaluateUnion> = Result; export declare function ExcludeOperation(left: Left, right: Right): TExcludeOperation; export {};