import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions, InstanceInfo, CreateInstanceOptions } from '../types.js';
/**
 * Configuration source that loads from dw.json files.
 *
 * @internal
 */
export declare class DwJsonSource implements ConfigSource {
    readonly name = "DwJsonSource";
    readonly priority = 0;
    /**
     * Load configuration from dw.json.
     *
     * Searches for dw.json in the project directory and returns the resolved
     * configuration for the requested instance (or the active/root config when
     * no instance name is provided).
     *
     * @param options - Resolution options including instance name and project directory
     * @returns The loaded configuration and file location, or undefined if dw.json is not found
     */
    load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined>;
    /**
     * List all instances from dw.json.
     */
    listInstances(options?: ResolveConfigOptions): Promise<InstanceInfo[]>;
    /**
     * Create a new instance in dw.json.
     */
    createInstance(options: CreateInstanceOptions & ResolveConfigOptions): Promise<void>;
    /**
     * Remove an instance from dw.json.
     */
    removeInstance(name: string, options?: ResolveConfigOptions): Promise<void>;
    /**
     * Set an instance as active in dw.json.
     */
    setActiveInstance(name: string, options?: ResolveConfigOptions): Promise<void>;
}
