import type { FilenamesForPackageFiles, FilenamesForReadmeFiles, DataForReadmeFiles, DataForPackageFiles, EnhancedReadmeData, EnhancedPackageData } from './types.js';
export * from './types.js';
/** Projectz, use to merge data files and render meta files. */
export declare class Projectz {
    /** The log function to use, first argument being the log level */
    readonly log: Function;
    /** The directory to process, defaults to the current working directory*/
    readonly cwd: string;
    /** If enabled, then remote updates will be not performed (such as fetching latest backers). */
    readonly offline: boolean;
    /**
     * Resolved absolute paths for the package files.
     * Should be arranged in the order of merging preference.
     */
    protected readonly filenamesForPackageFiles: FilenamesForPackageFiles;
    /** Resolved data for the package files */
    protected readonly dataForPackageFiles: DataForPackageFiles;
    /** Resolved absolute paths for the readme files */
    protected readonly filenamesForReadmeFiles: FilenamesForReadmeFiles;
    /** Resolved data for the readme files */
    protected readonly dataForReadmeFiles: DataForReadmeFiles;
    /** Configure our instance. */
    constructor(opts?: Partial<Pick<Projectz, 'cwd' | 'offline' | 'log'>>);
    /** Use the configuration to compile the project. */
    compile(): Promise<void>;
    /** Resolve the paths and metdata for the data and meta files. */
    protected loadPaths(): Promise<void>;
    /** Merge and enhance the data for the package files. */
    protected enhanceDataForPackageFiles(): Promise<EnhancedPackageData>;
    /** Merge and enhance the metadata from the meta files. */
    protected enhanceDataForReadmeFiles(data: EnhancedPackageData): Promise<DataForReadmeFiles>;
    /** Save the data and meta files with our enhancements. */
    protected save(enhancedPackageData: EnhancedPackageData, enhancedReadmeData: EnhancedReadmeData): Promise<void>;
}
//# sourceMappingURL=index.d.ts.map