import type { Metadata, ResolvedMetadata, ResolvingMetadata } from './types/metadata-interface';
import { LoaderTree } from '../../server/lib/app-dir-module';
import { ComponentsType } from '../../build/webpack/loaders/next-app-loader';
declare type StaticMetadata = Awaited<ReturnType<typeof resolveStaticMetadata>>;
declare type MetadataResolver = (_parent: ResolvingMetadata) => Metadata | Promise<Metadata>;
export declare type MetadataItems = [
    Metadata | MetadataResolver | null,
    StaticMetadata
][];
declare function resolveStaticMetadata(components: ComponentsType): Promise<{
    icon: any[] | undefined;
    apple: any[] | undefined;
    openGraph: any[] | undefined;
    twitter: any[] | undefined;
} | null>;
export declare function collectMetadata({ loaderTree, props, array, route, }: {
    loaderTree: LoaderTree;
    props: any;
    array: MetadataItems;
    route: string;
}): Promise<void>;
export declare function accumulateMetadata(metadataItems: MetadataItems, pathname: string): Promise<ResolvedMetadata>;
export {};
