import type { AxisConfig, InlineScenario } from "../types/config.js"; import type { Scenario } from "../types/scenario.js"; import type { Logger } from "../types/output.js"; export declare function loadConfig(configPath?: string): Promise<{ config: AxisConfig; configDir: string; }>; export interface DiscoverScenariosOptions { /** Logger for remote clone/pull progress. Defaults to silent. */ logger?: Logger; /** How many levels of remote-to-remote references to follow. Defaults to 1. */ maxRemotesDepth?: number; } export declare function discoverScenarios(configDir: string, scenariosInput: string | (string | InlineScenario)[] | undefined, filter?: string[], options?: DiscoverScenariosOptions): Promise; /** * Match a scenario key against a list of filter patterns. A pattern matches if: * - it equals the full key (e.g. `cms/create-post@variant`) * - it equals the base key (e.g. `cms/create-post`, matches all variants) * - it is a glob and matches either the full key or the base key * * Supported glob syntax (via {@link globToRegExp}): `**`, `*`, `?`, `[abc]`. */ export declare function matchesScenarioFilter(key: string, filter: string[]): boolean; /** * Match an agent name against a list of filter patterns. A pattern matches if: * - it equals the full agent name (e.g. `claude-code|opus`) * - it equals the base agent (e.g. `claude-code`, matches all model variants) * - it is a glob and matches either the full name or the base agent */ export declare function matchesAgentFilter(agentName: string, filter: string[]): boolean; //# sourceMappingURL=loader.d.ts.map