import type { DriverTarget, TypedCore, TypedEyes, OpenSettings } from './types';
import { type SpecType } from '@applitools/driver';
import { type Logger } from '@applitools/logger';
type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
    type: TType;
    settings: OpenSettings<TType>;
    target?: DriverTarget<TSpec>;
    cores: {
        [TKey in 'classic' | 'ufg']: TypedCore<TSpec, TKey>;
    };
    logger: Logger;
};
export declare function makeGetTypedEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, settings: defaultSettings, target, cores, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, logger, }?: {
    type?: TType | undefined;
    logger?: Logger | undefined;
}) => Promise<TypedEyes<TSpec, TType>>;
export {};
