import { type TSchema } from '../types/schema.mjs'; import { type TProperties } from '../types/properties.mjs'; import { type TAny } from '../types/any.mjs'; import { type TFunction } from '../types/function.mjs'; import { type TUnknown } from '../types/unknown.mjs'; import * as Result from './result.mjs'; import { type TExtendsParameters } from './parameters.mjs'; import { type TExtendsReturnType } from './return_type.mjs'; export type TExtendsFunction = (Right extends TAny ? Result.TExtendsTrue : Right extends TUnknown ? Result.TExtendsTrue : Right extends TFunction ? TExtendsParameters extends Result.TExtendsTrueLike ? TExtendsReturnType : Result.TExtendsFalse : Result.TExtendsFalse); export declare function ExtendsFunction(inferred: Inferred, parameters: [...Parameters], returnType: ReturnType, right: Right): TExtendsFunction;