import type { TriggerConfig } from "@trigger.dev/core/v3";
import type { ResolvedConfig } from "@trigger.dev/core/v3/build";
import type * as esbuild from "esbuild";
export type ResolveConfigOptions = {
    cwd?: string;
    overrides?: Partial<TriggerConfig>;
    configFile?: string;
    warn?: boolean;
};
export type LoadedConfig = ResolvedConfig & {
    runtimeWasExplicit: boolean;
};
export declare function loadConfig({ cwd, overrides, configFile, warn, }?: ResolveConfigOptions): Promise<LoadedConfig>;
type ResolveWatchConfigOptions = ResolveConfigOptions & {
    onUpdate: (config: LoadedConfig) => void;
    debounce?: number;
    ignoreInitial?: boolean;
};
type ResolveWatchConfigResult = {
    config: LoadedConfig;
    files: string[];
    stop: () => Promise<void>;
};
export declare function watchConfig({ cwd, onUpdate, debounce, ignoreInitial, overrides, configFile, }: ResolveWatchConfigOptions): Promise<ResolveWatchConfigResult>;
export declare function configPlugin(resolvedConfig: ResolvedConfig): esbuild.Plugin | undefined;
export {};
