/**
 * Shared Company Footer Configuration
 *
 * This configuration is shared across all Valtech products:
 * - ui-docs
 * - showcase
 * - myvaltech (company website)
 *
 * When links or social profiles change, update here and publish a new version.
 */
import type { CompanyFooterMetadata } from '../components/organisms/company-footer/types';
import type { LegalLinkService } from '../services/legal-link/legal-link.service';
/**
 * Social media links for Valtech
 */
export declare const VALTECH_SOCIAL_LINKS: {
    icon: string;
    url: string;
    name: string;
}[];
/**
 * Footer logo configuration
 * Uses CSS variable for automatic theme-aware logo switching
 */
export declare const VALTECH_FOOTER_LOGO: {
    logoCssVariable: string;
    logoAlt: string;
    logoRoute: string;
};
/**
 * Company link definition
 */
export interface CompanyLink {
    /** i18n key for the link text */
    key: string;
    /** URL path (relative) or absolute URL */
    url: string;
    /**
     * Hint for `LegalLinkService` about which app owns this link in a multi-app factory:
     * - `'legal'` — canonical legal content (terms, privacy, …) — lives on main site
     * - `'site'`  — marketing/info pages (about, blog, …) — lives on main site
     * - `'support'` — support/help — typically per-app (each product has own support)
     *
     * In satellite apps with `provideValtechLegal({ baseUrl })`, links with kind
     * `'legal'` or `'site'` get rewritten to the main site URL.
     */
    kind?: 'legal' | 'site' | 'support';
    /** Force opens in a new tab. Resolver may also set this when rewriting cross-origin. */
    external?: boolean;
}
/**
 * Company links organized by section
 */
export declare const VALTECH_COMPANY_LINKS: {
    legal: CompanyLink[];
    support: CompanyLink[];
};
/**
 * i18n keys for the footer (Layout namespace)
 * These should be registered in each app's i18n config
 */
export declare const VALTECH_FOOTER_I18N: {
    es: {
        footerLeftTitle: string;
        footerRightTitle: string;
        aboutUs: string;
        privacyPolicy: string;
        termsConditions: string;
        cookiesPolicy: string;
        legalNotice: string;
        contactSupport: string;
        faq: string;
        feedback: string;
        copyrightText: string;
    };
    en: {
        footerLeftTitle: string;
        footerRightTitle: string;
        aboutUs: string;
        privacyPolicy: string;
        termsConditions: string;
        cookiesPolicy: string;
        legalNotice: string;
        contactSupport: string;
        faq: string;
        feedback: string;
        copyrightText: string;
    };
};
/**
 * Default language selector configuration for footer
 */
export declare const VALTECH_LANGUAGE_SELECTOR: {
    mode: "default";
    showFlags: boolean;
    showLabel: boolean;
    fill: "outline";
    size: "default";
};
/**
 * Optional URL resolver applied per link (e.g. `LegalLinkService.resolve.bind(svc)`).
 * Returns `{ url, external? }` to allow cross-origin rewrites.
 */
export type CompanyLinkResolver = (link: CompanyLink) => {
    url: string;
    external?: boolean;
};
/**
 * Helper to build footer links from company links config.
 *
 * @param links - Array of company links
 * @param t - Translation function (key: string) => string
 * @param resolver - Optional resolver — typically `(link) => ({ url: legalLink.resolve(link.url), external: legalLink.isExternal(link.url) && (link.kind === 'legal' || link.kind === 'site') })` to point cross-app legal/site links to the main site.
 * @returns Array of link objects ready for FooterLinksMetadata
 */
export declare function buildFooterLinks(links: CompanyLink[], t: (key: string) => string, resolver?: CompanyLinkResolver): Array<{
    url: string;
    text: string;
    color: string;
    token: string;
    download: boolean;
    hoverable: boolean;
    target?: string;
}>;
/**
 * Translation helper for the `Layout` namespace — `(key) => translatedString`.
 * Typically `i18n.t.bind(i18n)` scoped to the footer namespace.
 */
export type LayoutTranslator = (key: string) => string;
/**
 * Builds a `CompanyLinkResolver` that rewrites cross-app `legal`/`site` links to
 * the main brand site via `LegalLinkService`, leaving `support` (and any other)
 * links untouched.
 *
 * Satellite apps (showcase, sigify, …) wire `provideValtechSite(env)` so that
 * `legal`/`site` links resolve to the canonical main-site URLs; `support` links
 * stay per-app. This is the generic half of an app's footer resolver — apps that
 * need extra per-link overrides (e.g. redirecting `/feedback` to an authed route)
 * compose this with their own logic.
 *
 * @param legal Injected `LegalLinkService` (no-op when running as the main site).
 * @param locale Getter for the active locale (e.g. `() => i18n.lang()`) — appended
 *   as `?lang=` when the resolved URL is cross-origin.
 *
 * @example
 * const base = buildLegalLinkResolver(legal, () => i18n.lang());
 * const resolver: CompanyLinkResolver = (link) =>
 *   link.url === '/feedback' ? { url: '/app/feedback', external: false } : base(link);
 */
export declare function buildLegalLinkResolver(legal: LegalLinkService, locale: () => string): CompanyLinkResolver;
/**
 * Builds the shared `CompanyFooterMetadata` used across Valtech apps (login,
 * legal, public landing, …) so the footer stays consistent. Assembles the
 * standard left/right link sections, logo, social links and language selector
 * from the shared config.
 *
 * Call from a `computed()` that reads the active language for reactivity.
 *
 * @param t Translation helper for the `Layout` namespace.
 * @param linkResolver Optional resolver applied to every footer link — typically
 *   `buildLegalLinkResolver(...)` (or an app wrapper) to point `legal`/`site`
 *   links at the main site when running as a satellite app.
 */
export declare function buildCompanyFooterProps(t: LayoutTranslator, linkResolver?: CompanyLinkResolver): CompanyFooterMetadata;
