import { Context } from '../context';
export declare type ResolvedItem = string | string[];
export declare type Resolver = (context: Context) => ResolvedItem;
export declare type PrerequisitesDeclaration = ResolvedItem | Resolver | PrerequisiteArray;
export interface PrerequisiteArray extends Array<PrerequisitesDeclaration> {
}
export declare class Prerequisites {
    private dynamicDependencies;
    private decl;
    constructor(decl: PrerequisitesDeclaration);
    getPrerequisites(ctx: Context): string[];
    addRequisites<T>(ctx: Context, decl: PrerequisitesDeclaration, results: string[]): void;
}
