/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
interface FastStoreConfig {
    stores: Stores;
    [k: string]: unknown;
}
/**
 * All stores on the reposiotry
 */
interface Stores {
    [k: string]: AccountConfig;
}
/**
 * Account name
 *
 * This interface was referenced by `Stores`'s JSON-Schema definition
 * via the `patternProperty` "^[a-z0-9_]+$".
 */
interface AccountConfig {
    [k: string]: ModuleConfig;
}
/**
 * Name of the module
 *
 * This interface was referenced by `AccountConfig`'s JSON-Schema definition
 * via the `patternProperty` "^(checkout|discovery|sales-app)$".
 */
interface ModuleConfig {
    path: string;
    /**
     * The port in which this module will run. A module might need more than one port, so you shouldn't assign sequential ports to different modules, e.g. 3000 for discovery, 3001 for checkout and 3002 for sales-app.
     */
    port?: number;
    cli?: string;
}

/**
 * Loads an fsp configuration file with the given name
 * @param configFileName Name of the config file @default 'fsp'
 * @returns
 */
declare function loadConfig(configFileName?: string): Promise<FastStoreConfig>;

export { type AccountConfig, type FastStoreConfig, type ModuleConfig, loadConfig };
