interface ModuleInfo {
    module: Record<string, any>;
    specifier: string;
}
interface CreateMetadataOptions {
    modules: ModuleInfo[];
    hydratedComponents: any[];
    hydrationDirectives: Set<string>;
    hoisted: any[];
}
export declare class Metadata {
    fileURL: URL;
    modules: ModuleInfo[];
    hoisted: any[];
    hydratedComponents: any[];
    hydrationDirectives: Set<string>;
    private metadataCache;
    constructor(filePathname: string, opts: CreateMetadataOptions);
    resolvePath(specifier: string): string;
    getPath(Component: any): string | null;
    getExport(Component: any): string | null;
    /**
     * Gets the paths of all hydrated components within this component
     * and children components.
     */
    hydratedComponentPaths(): Generator<string, void, unknown>;
    /**
     * Gets all of the hydration specifiers used within this component.
     */
    hydrationDirectiveSpecifiers(): Generator<string, void, unknown>;
    private deepMetadata;
    private getComponentMetadata;
    private findComponentMetadata;
}
export declare function createMetadata(filePathname: string, options: CreateMetadataOptions): Metadata;
export {};
