///
import EventEmitter from 'events';
import { ASTChunkGreybel } from 'greybel-core';
import { Context } from './context';
import { Dependency } from './dependency';
import { ResourceHandler } from './utils/resource-provider';
export interface TargetOptions {
target: string;
resourceHandler: ResourceHandler;
context: Context;
environmentVariables?: Map;
strictMode?: boolean;
}
export interface TargetParseResultItem {
chunk: ASTChunkGreybel;
dependency: Dependency;
}
export interface TargetParseResult {
main: TargetParseResultItem;
}
export declare class Target extends EventEmitter {
target: string;
resourceHandler: ResourceHandler;
context: Context;
environmentVariables: Map;
strictMode: boolean;
constructor(options: TargetOptions);
parse(withMetadata: boolean): Promise;
}