import { Env } from "../../dists/env.js"; import { BaseRunner } from "../../runners/BaseRunner.js"; import { SqLinker } from "../SqLinker.js"; import { ProjectState } from "./ProjectState.js"; import { SqModule } from "./SqModule.js"; import { SqModuleOutput } from "./SqModuleOutput.js"; import { ProjectAction, ProjectEventListener, ProjectEventType } from "./types.js"; export declare class SqProject { state: ProjectState; runner: BaseRunner; constructor(params?: { linker?: SqLinker; runner?: BaseRunner; environment?: Env; }); setHead(headName: string, head: { module: SqModule; }): void; loadHead(headName: string, head: { moduleName: string; }): Promise; setSimpleHead(headName: string, code: string): void; setEnvironment(environment: Env): void; setRunner(runner: BaseRunner): void; hasHead(headName: string): boolean; getOutput(headName: string): SqModuleOutput | undefined; getModuleOrThrow(hash: string): SqModule; getHead(headName: string): SqModule; waitForOutput(headName: string): Promise; dispatch(action: ProjectAction): void; private loadImports; private loadModule; private processModule; private buildOutputIfPossible; private eventTarget; private dispatchEvent; addEventListener(type: T, listener: ProjectEventListener): void; removeEventListener(type: T, listener: ProjectEventListener): void; private setState; } //# sourceMappingURL=index.d.ts.map