import type { NamedReporterContract, NormalizedConfig, TestSuite } from './types.js';
/**
 * The tests planner is used to plan the tests by doing all
 * the heavy lifting of executing plugins, registering
 * reporters, filtering tests and so on.
 */
export declare class Planner {
    #private;
    constructor(config: NormalizedConfig);
    /**
     * Creates a plan for running the tests
     */
    plan(): Promise<{
        reporters: NamedReporterContract[];
        suites: (TestSuite & {
            filesURLs: URL[];
        })[];
        refinerFilters: {
            layer: "tags" | "tests" | "groups";
            filters: string[];
        }[];
        config: NormalizedConfig;
    }>;
}
