import type { PackageConfig } from 'types'; export interface File { name: string; dest: string; base: string; is_included: boolean; is_exported: boolean; is_svelte: boolean; } export type RecursiveRequired = { // Recursive implementation of TypeScript's Required utility type. // Will recursively continue until it reaches a primitive or Function [K in keyof T]-?: Extract extends never // If it does not have a Function type ? RecursiveRequired // recursively continue through. : T[K]; // Use the exact type for everything else }; export interface ValidatedConfig { extensions: string[]; kit?: any; package: RecursiveRequired; preprocess?: any; } export type Validator = (input: T, keypath: string) => T;