///
export { HeadupApp } from "./app";
export { getPageRoute } from "./router";
export interface HeadupQueries {
}
export interface HeadupParams {
path: string;
language: string;
}
export declare function loadQueries(queries: any): void;
export declare const createContentHook: (contentFetcher: (ctx: {
path: string;
setParams(data: Partial): void;
} & {
queries: HeadupQueries;
}) => Promise) => {
(): T;
addSection(sectionHook: {
(ctx: any): any;
key: string;
paramKeys: string[];
sectionFetcher: any;
}): void;
provide: (Component: any) => {
(): JSX.Element;
getInitialProps(nextContext: import("next").NextPageContext): Promise;
};
}, createSectionHook: (key: string, paramKeys: ParamKeys[], sectionFetcher: (ctx: {
params: Partial>;
} & {
queries: HeadupQueries;
}) => Promise) => {
(): {
loading: true;
} | {
loading: false;
data: SectionResultData;
};
key: string;
paramKeys: ParamKeys[];
sectionFetcher: (ctx: {
params: Partial>;
} & {
queries: HeadupQueries;
}) => Promise;
}, useParams: () => Partial, useIsLoading: () => boolean, HeadupProvider: (props: import("./data-layer").HeadupProviderProps) => any;
export declare type HeadupContentFetcherContext = Parameters[0]>[0];
export declare type HeadupSectionFetcherContext = Parameters[2]>[0];
/**
* Get the return type of a section hook created with createSectionHook
*/
export declare type SectionType any> = Exclude, {
loading: true;
}>["data"];
/**
* Get return type content or section hook
*/
export declare type HookType any> = T extends () => {
loading: boolean;
} ? SectionType : ReturnType;