import { AddressableService, RequestOutputTypes } from '@webruntime/api';
interface Resolver {
    resolve(id: string): string;
}
/**
 * Gets the URL of a pre-built resource from a module.
 *
 * @param module the module/package to read from
 * @param descriptor the resource descriptor
 * @param mode the mode to return
 */
export declare function getResourceUrlFromModule(module: string, descriptor: string, mode: string): string;
/**
 * This service serves a pre-built scripts read from a module's resource.json.
 */
export declare class ModuleResourceService extends AddressableService {
    readonly module: string;
    readonly specifier: string;
    readonly descriptor: string;
    readonly resourceUri: string;
    readonly resolver?: Resolver | undefined;
    mappings: {
        [x: string]: string;
    };
    constructor(module: string, specifier: string, descriptor: string, resourceUri: string, resolver?: Resolver | undefined);
    initialize(): void;
    request(specifier: any, { mode }: {
        mode: any;
    }): Promise<{
        type: RequestOutputTypes;
        specifier: any;
        resource: {
            code: string;
        };
        metadata: {
            dependencies: never[];
        };
        success: boolean;
        diagnostics: never[];
    }>;
    toSpecifier(): string;
}
export {};
//# sourceMappingURL=module-resource-service.d.ts.map