/** * Cookie consent for the regions that need it. The regions and categories * follow builder.io's consent banner: visitors in these countries opt in, and * every other visitor is tracked as before, with no banner. */ /** For the inline bootstrap the server writes into each page. */ export declare const CONSENT_REGION_TIME_ZONE_LIST: readonly string[]; export declare function isConsentRegionCountry(code: string | null | undefined): boolean; export declare function isConsentRegionTimeZone(timeZone: string | null | undefined): boolean; /** * What the banner asks about. `performance` covers analytics (Google * Analytics, Amplitude); `targeting` covers advertising and attribution (Tag * Manager's ad tags, the referral attribution cookies). Strictly necessary * cookies need no consent. */ export type ConsentCategory = "performance" | "targeting"; export type ConsentChoice = Record; /** `consent` shows the banner; `none` tracks as before. */ export type ConsentRegion = "consent" | "none"; export declare const CONSENT_COOKIE_NAME = "an_consent"; /** Asked again a year later, like builder.io. */ export declare const CONSENT_COOKIE_LIFETIME_SECONDS: number; export declare const CONSENT_REGION_PATH = "/_agent-native/auth/consent-region"; export declare const CONSENT_PATH = "/_agent-native/auth/consent"; /** * One choice covers the site and every app on agent-native.com. The browser * and the server must agree, or the two copies become two cookies. */ export declare function consentCookieDomain(hostname: string): string | null; /** `1.p1.t0`: version, then one flag per category. */ export declare function serializeConsent(choice: ConsentChoice): string; /** The stored choice, or `null` when there is none this version can read. */ export declare function parseConsent(value: string | null | undefined): ConsentChoice | null;