export type ManifestFilter = {
    parentXmlsBySuffix: Map<string, Set<string>>;
    suffixes: string[];
    unresolvedComponents: Array<{
        type: string;
        member: string;
    }>;
};
export declare function parseManifest(manifestPath: string, ignoreDirs: string[] | undefined, repoRootOverride?: string): Promise<ManifestFilter>;
/**
 * Resolve the effective list of metadata suffixes to process for a decompose/recompose run,
 * combining the `--manifest` and `--metadata-type` inputs (manifest suffixes are filtered down
 * to the requested types when both are given), then normalizing the deprecated `botVersion`
 * suffix to `bot`. Shared by `decomposeMetadataTypes` and `recomposeMetadataTypes`.
 */
export declare function resolveEffectiveMetadataTypes(metadataTypes: string[] | undefined, manifest: string | undefined, ignoreDirs: string[] | undefined, repoRoot: string | undefined, log: (message: string) => void): Promise<{
    manifestFilter: ManifestFilter | undefined;
    effectiveTypes: string[];
}>;
