import { Agent } from 'https'; import { ForceOverwrite } from './enums'; import type { PiletsInfo, SharedDependency, PiletDefinition, AppDefinition, NpmClient } from '../types'; import type { SourceLanguage, PiralInstancePackageData, PiralInstanceDetails } from '../types'; import type { Framework, FileInfo, TemplateFileLocation, PiletPackageData, PiralPackageData } from '../types'; export interface PiralInstanceData { packageName: Framework; language: SourceLanguage; reactVersion: number; reactRouterVersion: number; } export declare function getPiralPath(root: string, name: string): string; export declare function getRemoteTypesTarget(rootDir: string, piletDefinition: PiletDefinition): string; export declare function findPiralInstance(proposedApp: string, rootDir: string, details: PiralInstanceDetails, agent: Agent, interactive?: boolean): Promise; export declare function findPiralInstances(proposedApps: Array, piletPackage: PiletPackageData, piletDefinition: undefined | PiletDefinition, rootDir: string, agent: Agent, interactive?: boolean): Promise; export declare function readPiralPackage(root: string, name: string): Promise; export declare function patchPiralPackage(root: string, app: string, data: PiralInstanceData, version: string, bundler?: string): Promise; export declare function getPiralPackage(app: string, data: PiralInstanceData, version: string, bundler?: string): Promise<{ app: string; scripts: { start: string; build: string; postinstall: string; }; types: string; importmap: { imports: {}; inherit: string[]; }; dependencies: { 'piral-core'?: string; 'piral-base'?: string; }; devDependencies: { 'piral-cli': string; }; }>; export declare function getFileStats(root: string, name: string): Promise<{ path: string; hash: string; changed: boolean; }[]>; export declare function copyScaffoldingFiles(source: string, target: string, files: Array, piralInfo?: any, variables?: Record): Promise; export declare function copyPiralFiles(root: string, name: string, piralInfo: PiralPackageData, forceOverwrite: ForceOverwrite, variables: Record, originalFiles?: Array): Promise; export declare function getPiletsInfo(piralInfo: Partial): PiletsInfo; export declare function retrievePiralRoot(baseDir: string, entry: string): Promise; export declare function findDependencyVersion(pckg: Record, rootPath: string, dependency: SharedDependency): Promise; export declare function findPackageVersion(rootPath: string, packageName: string | Array): Promise; export declare function flattenExternals(dependencies: Array, disableAsync?: boolean): string[]; export declare function retrieveExternals(root: string, packageInfo: PiralPackageData): Promise>; export declare function retrievePiletsInfo(entryFile: string): Promise<{ externals: SharedDependency[]; name: any; version: any; emulator: any; shared: any; framework: "piral" | "piral-core" | "piral-base"; dependencies: { std: any; dev: any; peer: any; }; scripts: any; ignored: any[]; root: string; files: Array; template: string; devDependencies: Record; validators: Record; packageOverrides: Record; preScaffold: string; postScaffold: string; preUpgrade: string; postUpgrade: string; }>; export declare function validateSharedDependencies(externals: Array): void; export declare function isValidDependency(name: string): boolean; export declare function patchPiletPackage(root: string, piralInfo: PiralPackageData, fromEmulator: boolean, client: NpmClient, newInfo?: { language: SourceLanguage; bundler: string; }): Promise; /** * Returns true if its an emulator package, otherwise it has to be a "raw" app shell. */ export declare function checkAppShellPackage(appPackage: PiralPackageData): boolean; export declare function combinePiletExternals(appShells: Array, peerDependencies: Record, peerModules: Array, importmap: Array): string[]; export declare function findPiletRoot(proposedRoot: string): Promise; export declare function retrievePiletData(target: string, app?: string, agent?: Agent, interactive?: boolean): Promise<{ dependencies: any; devDependencies: any; peerDependencies: any; peerModules: any; ignored: any[]; schema: import("../types").PiletSchemaVersion; definition: PiletDefinition; importmap: SharedDependency[]; apps: AppDefinition[]; piletPackage: any; root: string; }>;