import { type CompareResult, type OneFileElement } from "../../utils/path-utils.js";
export declare enum SCOPE {
    local = "local",
    external = "external",
    lock = "lock",
    all = "all"
}
export declare enum LOOKUP_TYPE {
    packagName = "packageName",
    fileName = "fileName"
}
interface DiscoverRequest {
    scope: SCOPE;
    type: LOOKUP_TYPE;
}
interface DiscoverManyRequest {
    fileNames: string[];
    scope: SCOPE;
    type: LOOKUP_TYPE;
}
interface DiscoverOneByPackageNameRequest {
    packageName: string;
    scope: SCOPE;
}
interface DiscoverManyByPackageNameRequest {
    packageNames: string[];
    scope: SCOPE;
}
type DiscoverResult = string[];
export type { CompareResult, OneFileElement };
export { normalizeDiscover, compare, filesPattern, exactFilesPatterns, } from "../../utils/path-utils.js";
export declare const discoverManyByPackageName: (request: DiscoverManyByPackageNameRequest) => DiscoverResult;
export declare const discoverOneByPackageName: (request: DiscoverOneByPackageNameRequest) => DiscoverResult;
export declare const discoverMany: (request: DiscoverManyRequest) => Promise<DiscoverResult>;
export declare const discoverManyDatasources: (request: DiscoverManyRequest) => Promise<DiscoverResult>;
export declare const discoverStories: (request: DiscoverManyRequest) => DiscoverResult;
export declare const discoverMigrationConfig: (request: DiscoverManyRequest) => DiscoverResult;
export declare const discoverAllMigrationConfigs: (request: DiscoverRequest) => DiscoverResult;
export declare const discoverVersionMapping: (request: DiscoverManyRequest) => DiscoverResult;
export declare const discoverDatasources: (request: DiscoverRequest) => Promise<DiscoverResult>;
export declare const discover: (request: DiscoverRequest) => Promise<DiscoverResult>;
export declare const discoverResolvers: (request: DiscoverRequest) => Promise<DiscoverResult>;
export declare const discoverRoles: (request: DiscoverRequest) => Promise<DiscoverResult>;
export declare const discoverManyRoles: (request: DiscoverManyRequest) => Promise<DiscoverResult>;
export declare const discoverAllComponents: () => Promise<{
    local: OneFileElement[];
    external: OneFileElement[];
}>;
export declare const discoverAllMigrations: () => {
    local: OneFileElement[];
    external: OneFileElement[];
};
export interface MigrationInfo {
    name: string;
    filePath: string;
    scope: "local" | "external";
    targetComponents: string[];
    applied: {
        story: boolean;
        preset: boolean;
    };
}
export declare const enrichMigrationInfo: (allMigrations: {
    local: OneFileElement[];
    external: OneFileElement[];
}) => Promise<MigrationInfo[]>;
