import * as FileSystem from "@effect/platform/FileSystem";
import * as Path from "@effect/platform/Path";
import type * as Cause from "effect/Cause";
import * as Effect from "effect/Effect";
import * as Stream from "effect/Stream";
import * as ManifestBuilder from "./ManifestBuilder.ts";
import * as Model from "./Model.ts";
export declare class Context {
    definitionPath: string;
    constructor(definitionPath: string);
    functionSource(relativePath: string): Model.FunctionSource;
}
declare const ConfigLoaderError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Cause.YieldableError & {
    readonly _tag: "ConfigLoaderError";
} & Readonly<A>;
export declare class ConfigLoaderError extends ConfigLoaderError_base<{
    readonly cause?: unknown;
    readonly message?: string;
}> {
}
declare const ConfigLoader_base: Effect.Service.Class<ConfigLoader, "Amp/ConfigLoader", {
    readonly dependencies: readonly [import("effect/Layer").Layer<ManifestBuilder.ManifestBuilder, never, import("./api/Admin.ts").Admin>];
    readonly effect: Effect.Effect<{
        load: (file: string) => Effect.Effect<Model.DatasetConfig, ConfigLoaderError, never>;
        find: (cwd?: string | undefined) => Effect.Effect<import("effect/Option").Option<string>, never, never>;
        watch: <E, R>(file: string, options?: {
            onError?: (cause: Cause.Cause<ConfigLoaderError>) => Effect.Effect<void, E, R>;
        }) => Stream.Stream<ManifestBuilder.ManifestBuildResult, ConfigLoaderError | E, R>;
        build: (file: string) => Effect.Effect<{
            metadata: Model.DatasetMetadata;
            manifest: Model.DatasetDerived;
            dependencies: readonly Model.DatasetReference[];
        }, ConfigLoaderError, never>;
    }, never, Path.Path | FileSystem.FileSystem | ManifestBuilder.ManifestBuilder>;
}>;
export declare class ConfigLoader extends ConfigLoader_base {
}
export {};
//# sourceMappingURL=ConfigLoader.d.ts.map