import { Resources as IResources, Resource, OpenReadSeekCloser, Workspace, MinifierClient as IMinifierClient, IntegrityClient as IIntegrityClient, TemplateClient as ITemplateClient, TemplateSvc } from '../type';
export declare class Resources implements IResources {
    private cache;
    private workspace;
    private fsSvc;
    private urlSvc;
    private templateSvc;
    private publisher;
    private minifierClient;
    private integrityClient;
    private templateClient;
    private httpClient;
    constructor(workspace: Workspace);
    setTemplateSvc(templateSvc: TemplateSvc): void;
    getResource(pathname: string): Promise<Resource | null>;
    getResourceWithOpener(pathname: string, opener: OpenReadSeekCloser): Promise<Resource | null>;
    executeAsTemplate(resource: Resource, targetPath: string, data: any): Promise<Resource>;
    minify(resource: Resource): Promise<Resource>;
    fingerprint(resource: Resource): Promise<Resource>;
    getRemote(uri: string): Promise<Resource | null>;
    cacheKey(key: string): string;
    getMinifierClient(): IMinifierClient;
    getIntegrityClient(): IIntegrityClient;
    setTemplateClient(client: ITemplateClient): void;
    private buildResource;
    private getMediaTypeFromExtension;
    private createReadSeekCloser;
    private newReadSeekerNoOpCloserFromString;
}
