import { Logger } from "winston";
import { CoordinatorServerOptions, ExperimentResults, GridSearch, IPCServer, StopCondition } from "../../../coordinator";
import { ClientTrainingOptions, FedAsyncStalenessOptions } from "../../../common/start-options";
import { MnistCoordinatorOptions } from "./MnistCoordinator";
declare type SpaceOf<Obj extends Record<keyof any, any>> = Obj extends any ? {
    [Key in keyof Obj]: Array<Obj[Key]>;
} : never;
export declare type ServerSpace = SpaceOf<CoordinatorServerOptions>;
export declare type FedAsyncStalenessSpace = SpaceOf<FedAsyncStalenessOptions>;
export declare type ClientSpace = SpaceOf<ClientTrainingOptions>;
export declare type SearchSpace = SpaceOf<Required<MnistCoordinatorOptions>>;
export declare class MnistGridSearch extends GridSearch<MnistCoordinatorOptions> {
    protected runExperiment(options: MnistCoordinatorOptions, ipc: IPCServer, logger: Logger, stopCondition: StopCondition): Promise<ExperimentResults<MnistCoordinatorOptions>>;
}
export {};
//# sourceMappingURL=grid-search.d.ts.map