import { Prettify } from "../shared/shared-types";
export declare const TEMPLATES: Readonly<{
    readonly "single-feature": {
        readonly label: "Funcionalidad";
        readonly params: readonly ["title", "text", "image", "button", "direction", "background"];
        readonly variants: readonly ["default", "colored"];
    };
    readonly "feature-highlights": {
        readonly label: "Caracteristicas destacadas";
        readonly params: readonly ["items", "image", "background", "direction"];
    };
    readonly "telephone-contracting": {
        readonly label: "Contratación de telefonía";
        readonly params: readonly [];
    };
    readonly features: {
        readonly label: "Tarjetas de funcionalidades";
        readonly params: readonly ["title", "text", "button", "items"];
    };
    readonly "features-presentation": {
        readonly label: "Presentación de funcionalidades";
        readonly params: readonly ["title", "subtitle", "text", "background", "items", "image", "button"];
        readonly variants: readonly ["default", "images", "hero", "parallel-images", "texts", "simple", "highlight-image", "secondary-highlight-image", "highlight-title", "texts-columns", "images-columns", "secondary-images-columns", "secondary-hero"];
    };
    readonly "product-hero-searcher": {
        readonly label: "Buscador de productos hero";
        readonly params: readonly ["title", "subtitle", "text", "background", "image", "items"];
    };
    readonly "product-package-picker": {
        readonly label: "Selector de paquetes de productos";
        readonly params: readonly ["title", "subtitle", "text", "background", "image", "items", "filters"];
    };
    readonly "redirect-router": {
        readonly label: "Redirección";
        readonly params: readonly ["text", "custom"];
    };
    readonly "perdm-contracting": {
        readonly label: "Perdm contratar telefonía";
        readonly params: readonly ["title"];
    };
    readonly "screen-products": {
        readonly label: "Linvermedia productos de pantallas";
        readonly params: readonly ["title"];
    };
    readonly "triple-text": {
        readonly label: "Texto triple";
        readonly params: readonly ["title", "subtitle", "text", "background", "image"];
    };
    readonly banner: {
        readonly label: "Banner";
        readonly params: readonly ["title", "text", "background", "image", "height"];
        readonly variants: readonly ["default", "image", "colored"];
    };
    readonly hero: {
        readonly label: "Hero";
        readonly params: readonly ["text", "title", "background", "items", "image", "custom"];
        readonly variants: readonly ["default", "dense", "banner", "contact"];
    };
    readonly image: {
        readonly label: "Imagen";
        readonly params: readonly ["background", "image"];
    };
    readonly text: {
        readonly label: "Textos";
        readonly params: readonly ["background", "items", "text", "title"];
        readonly variants: readonly ["default", "simple"];
    };
    readonly product: {
        readonly label: "Producto";
        readonly params: readonly ["title", "subtitle", "background", "button", "items_props", "filters", "sorting", "limit"];
        readonly variants: readonly ["default", "hero-grid", "hero-one"];
    };
    readonly container: {
        readonly label: "Contenedor";
        readonly params: readonly ["background", "children"];
    };
    readonly footer: {
        readonly label: "Footer";
        readonly params: readonly ["background", "subtitle", "text", "image"];
    };
    readonly "product-carousel": {
        readonly label: "Carrusel de imágenes";
        readonly params: readonly ["title", "items_props"];
    };
    readonly "product-simple-info": {
        readonly label: "Atributos simples";
        readonly params: readonly ["title", "items_props"];
    };
    readonly "product-card-info": {
        readonly label: "Tarjetas de atributos";
        readonly params: readonly ["title", "items_props"];
    };
    readonly "product-location": {
        readonly label: "Localización";
        readonly params: readonly ["title", "params"];
    };
    readonly "product-description": {
        readonly label: "Descripción del producto";
        readonly params: readonly ["title"];
    };
    readonly "simple-button": {
        readonly label: "Texto con botón";
        readonly params: readonly ["title", "text", "subtitle", "items", "background", "image", "button"];
        readonly variants: readonly ["default", "centered", "middle-image"];
    };
    readonly "selectable-cards": {
        readonly label: "Tarjetas seleccionables";
        readonly params: readonly ["title", "text", "items"];
        readonly variants: readonly ["default", "product"];
    };
    readonly "steps-cards": {
        readonly label: "Tarjetas de pasos";
        readonly params: readonly ["title", "text", "items", "image"];
    };
    readonly "ecommerce-finder": {
        readonly label: "Buscador de productos";
        readonly params: readonly ["custom"];
    };
    readonly "ecommerce-shopcart": {
        readonly label: "Shopcart de Ecommerce";
        readonly params: readonly ["title", "text", "custom"];
    };
    readonly "ecommerce-catalog": {
        readonly label: "Catálogo de productos";
        readonly params: readonly ["title", "text", "background", "custom"];
    };
    readonly "ecommerce-banner": {
        readonly label: "Banner para Ecommerce";
        readonly params: readonly ["title", "text", "background", "image", "height", "custom", "button"];
        readonly variants: readonly ["default", "text-image", "text-centered", "text-image-background", "contact"];
    };
    readonly "ecommerce-filters": {
        readonly label: "Filtros para Ecommerce";
        readonly params: readonly ["custom"];
    };
    readonly "ecommerce-categories": {
        readonly label: "Botones de categorías";
        readonly params: readonly ["items", "custom"];
    };
    readonly "shopcart-products": {
        readonly label: "Checkout de shopcart";
        readonly params: readonly ["custom"];
    };
    readonly "ecommerce-checkout": {
        readonly label: "Checkout de Ecommerce";
    };
    readonly "ecommerce-highlights": {
        readonly label: "Catálogo productos destacados";
        readonly params: readonly ["title", "text", "background", "custom"];
    };
    readonly widget: {
        readonly label: "Widget custom";
        readonly params: readonly ["code", "custom"];
    };
}>;
export type Template = keyof typeof TEMPLATES;
export type TemplateConfig = Prettify<(typeof TEMPLATES)[Template]>;
export declare const PRODUCT_TEMPLATES_LABELS: Template[];
export declare const ECOMMERCE_TEMPLATES_LABELS: Template[];
export declare const CHECKOUT_TEMPLATES_LABELS: Template[];
export declare const ITEMS_DIRECTIONS: string[];
export interface ItemPropParams {
    file?: File | null;
    path: string[];
    format: string;
    label: string;
    image: string;
}
export interface SectionImage {
    file?: File;
    src: string;
    width: number;
    height: number;
}
export interface ItemPropParams {
    file?: File | null;
    path: string[];
    format: string;
    label: string;
    image: string;
}
export interface SectionImage {
    file?: File;
    src: string;
    width: number;
    height: number;
}
export interface SectionItem {
    title: string;
    description: string;
    icon: string | null;
    link: string | null;
    image: {
        src: string;
        file?: File;
    } | null;
    value: string | number | null;
    key?: string;
    image2?: {
        src: string;
        file?: File;
    } | null;
}
export interface CustomConditions {
    property: string;
    value: string;
    method: "in" | "not_in" | "=" | "!=" | ">" | "<" | "null";
}
export interface FilterParams {
    tags?: string[];
    gamas?: number[];
    ids?: number[];
    proveedores?: string[];
}
export interface SortingParams {
    by: string | null;
    order: "ASC" | "DESC";
}
export interface SectionParams {
    title?: string;
    subtitle?: string;
    text?: string;
    background?: string;
    image?: SectionImage | null;
    items?: SectionItem[];
    classes?: string;
    variant?: string;
    direction?: "normal" | "invertido";
    button?: {
        text: string;
        link: string;
    } | null;
    height?: string;
    children?: number[];
    parent?: number | null;
    conditions?: CustomConditions[];
    id_gama?: number | null;
    items_props?: ItemPropParams[][] | null;
    filters?: FilterParams;
    sorting?: SortingParams[];
    limit?: number;
    styles?: string | Record<string, string>;
    params?: Record<string, any>;
    custom?: Record<string, any>;
    code?: string;
}
export type SectionParam = keyof Partial<SectionParams>;
export type SectionParamValue = SectionParams[SectionParam];
