import ts from 'typescript'; import type { AngularEntityKind } from './resolveOwningComponents'; export type FastHmrFallbackReason = 'file-not-found' | 'class-not-found' | 'no-component-decorator' | 'unsupported-decorator-args' | 'inherits-decorated-class' | 'multiple-decorators-on-class' | 'template-parse-error' | 'template-resource-not-found' | 'style-resource-not-found' | 'structural-change' | 'unexpected-error'; export type ComponentFingerprint = { className: string; selector: string | null; standalone: boolean; ctorParamTypes: string[]; providerImportSig: string[]; hasProviders: boolean; hasViewProviders: boolean; inputs: string[]; outputs: string[]; arrowFieldSig: string[]; memberDecoratorSig: string[]; topLevelImports: string[]; propertyFieldNames: string[]; encapsulation: number; changeDetection: number | null; importsArraySig: string; hostDirectivesSig: string; animationsArraySig: string; providersArraySig: string; viewProvidersArraySig: string; decoratorInputsArraySig: string; decoratorOutputsArraySig: string; hostBindingsSig: string; pageExportsSig: string; schemasSig: string; }; export type FastHmrSuccess = { ok: true; moduleText: string; componentSource: ts.SourceFile; fingerprintChanged: boolean; rebootstrapRequired: boolean; }; export type FastHmrFailure = { ok: false; reason: FastHmrFallbackReason; detail?: string; file?: string; line?: number; column?: number; lineText?: string; }; export type FastHmrResult = FastHmrSuccess | FastHmrFailure; export declare const takePendingModule: (id: string) => string | undefined; export declare const invalidateFingerprintCache: () => void; export declare const primeComponentFingerprint: (componentFilePath: string) => Promise; export declare const recordFingerprint: (id: string, fp: ComponentFingerprint) => void; export type TryFastHmrParams = { componentFilePath: string; className: string; projectRoot?: string; kind?: AngularEntityKind; }; export declare const tryFastHmr: (params: TryFastHmrParams) => Promise;