///
import { IAssetManager, ComponentInfo, ISystem, ReadmeImageType } from '../interfaces';
import { ComponentScreenshotOptions } from '../PuppeteerImageGenerator';
import puppeteer from 'puppeteer';
export declare type CodeReplacer = {
regex: RegExp;
replace: string;
} | ((code: string) => string);
export declare type ReadmeComponentScreenshotOptions = ComponentScreenshotOptions & {
type?: ReadmeImageType;
};
export interface ComponentOptions {
codeReplacer?: CodeReplacer;
codeInReadme?: 'None' | 'Js';
screenshotOptions?: ReadmeComponentScreenshotOptions;
}
export declare type ComponentOptionsNoId = Omit;
export declare type GlobalComponentOptions = Partial | undefined;
export interface IAssetManagerOptions {
readmeAssetsFolderPath: string;
puppeteerLaunchOptions: puppeteer.LaunchOptions | undefined;
globalComponentOptions: GlobalComponentOptions;
}
export interface IAssetFolderProvider {
getComponentInfos(componentAssetsFolder: string, globalOptions: GlobalComponentOptions): Promise;
}
export declare type FolderOptions = ComponentOptions & {
componentPath?: string;
component?: React.ComponentType;
};
export interface ComponentInfoProvider {
getComponentInfos(readmeAssetsFolderPath: string, globalOptions: T & GlobalComponentOptions): Promise;
}
export declare class AssetManager implements IAssetManager {
private readonly options;
private readonly assetFolderProvider;
private readonly system;
private readmeAssetsFolderPath;
private componentImagesFolderPath;
puppeteerLaunchOptions: puppeteer.LaunchOptions | undefined;
constructor(options: IAssetManagerOptions, assetFolderProvider: IAssetFolderProvider, system: ISystem);
private componentInfoProviders;
registerComponentInfoProviders(...componentInfoProviders: ComponentInfoProvider[]): void;
private pathInReadmeAssetsFolder;
cleanComponentImages(): Promise;
getComponentImagePath(...parts: string[]): string;
readSurroundingReadme(isPre: boolean): Promise;
getComponentInfos(): Promise;
private getAssetFolderComponentInfos;
}
//# sourceMappingURL=AssetManager.d.ts.map