import type fetch from 'npm-registry-fetch'; export interface DistTagOptions extends fetch.FetchOptions { defaultTag?: string; dryRun?: boolean; tag: string; } export type KebabCase = S extends `${infer C}${infer T}` ? KebabCase extends infer U ? U extends string ? T extends Uncapitalize ? `${Uncapitalize}${U}` : `${Uncapitalize}-${U}` : never : never : S; export interface LibNpmPublishOptions extends KebabCase { access?: 'public' | 'restricted'; defaultTag: string; dryRun?: boolean; strictSSL?: boolean | 'true' | 'false'; tag?: string; registry?: string; } export interface PackagePublishConfig { access?: 'public' | 'restricted'; defaultTag?: string; registry?: string; tag?: string; } export interface Tarball { name: string; version: string; files: any[]; bundled: any[]; filename: string; size: number; unpackedSize: number; shasum: string; integrity: boolean; entryCount: number; tarFilePath: string; }