///
import { DiagnosticType, ParserConfig } from "@nekosu/maa-pipeline-manager";
import { NpmRegistryType } from "@nekosu/maa-version-manager";
import { LocaleType } from "@nekosu/maa-locale";
//#region src/types/config.d.ts
type BaseConfig = {
cwd?: string;
mode?: 'stdio' | 'github' | 'json';
repo?: string;
locale?: LocaleType;
maaVersion?: string;
maaCache?: string;
maaMirror?: NpmRegistryType;
maaStdoutLevel?: 'Off' | 'Fatal' | 'Error' | 'Warn' | 'Info' | 'Debug' | 'Trace' | 'All';
maaLogDir?: string;
interfacePath: string;
parser?: ParserConfig;
};
type CheckConfig = {
/** Maximum number of controller/resource path sets checked concurrently. */job?: number;
override?: Partial>;
};
type TestCases = {
configs: {
name?: string;
resource: string;
controller: string;
imageRoot?: string;
};
cases: {
image: string;
hits: (string | {
node: string;
box: maa.Rect;
})[];
}[];
};
type TestConfig = {
casesCwd?: string;
cases: TestCases[] | (() => Promise);
errorDetailsPath?: string;
job?: number;
maxNodePerJob?: number;
};
type VscodeConfig = {
agents?: Record;
};
type FullConfig = BaseConfig & {
check?: CheckConfig;
test?: TestConfig;
vscode?: VscodeConfig;
};
//#endregion
//#region src/check/index.d.ts
declare function runCheck(cfg: FullConfig): Promise;
//#endregion
//#region src/test/index.d.ts
declare function runTest(cfg: FullConfig): Promise;
//#endregion
//#region src/cli.d.ts
declare function runCli(cmd: string, cfg: string | FullConfig): Promise;
//#endregion
//#region src/utils/config.d.ts
declare function loadConfig(file: string): Promise;
//#endregion
//#region src/utils/tools.d.ts
declare function loadTestCases(file: string): Promise;
declare function loadAllTestCases(folder: string, pattern: string): Promise<[testCases: TestCases[], failFiles: string[]]>;
//#endregion
export { BaseConfig, CheckConfig, FullConfig, TestCases, TestConfig, VscodeConfig, loadAllTestCases, loadConfig, loadTestCases, runCheck, runCli, runTest };
//# sourceMappingURL=index.d.mts.map