import { ViewsType } from '../Enum/views.enum';
import { ComponentView } from '../services/mapper';
import { FavIcon, Language } from './babylon-site-config.interface';
export type COMPONENTS_EXTRA = any;
export interface PageConfig<T> {
    head?: PageConfigHead;
    body: BodyComponent<T>[];
    bodyExtra?: BodyComponent<COMPONENTS_EXTRA>[];
    menu: pageConfigMenu;
    title?: string;
    subtitle?: string;
    apiUrls?: PageApiUrl[];
    footer?: any;
}
export interface PageApiUrl {
    [k: string]: string;
}
export interface PageConfigHead {
    language: Language[];
    links: PageConfigLink[];
    title: string;
    metas: PageConfigMeta[];
    favicons?: FavIcon[];
    scripts: {
        [k: string | number]: string;
    }[];
    ticker?: string;
}
export interface pageConfigMenu {
    headerData: any;
    components?: BodyComponent<any>[];
}
export interface PageConfigMeta {
    [k: string]: string;
}
export interface PageConfigLink {
    [k: string]: string;
}
export interface BodyComponent<T> {
    name: string;
    order?: number;
    props: T;
    alias?: string;
    textColor?: string;
    identifier?: string;
    views?: ComponentView[];
    view?: ViewsType;
}
