import type { Ref } from 'vue'; import type { CookieOptions } from 'nuxt/app'; export type Locale = 'ar' | 'az' | 'be' | 'bg' | 'ca' | 'cs' | 'da' | 'de' | 'en' | 'es' | 'fi' | 'fr' | 'hr' | 'hu' | 'id' | 'it' | 'ja' | 'km' | 'ko' | 'lt' | 'nl' | 'no' | 'oc' | 'pt' | 'pl' | 'ro' | 'rs' | 'ru' | 'sk' | 'sl' | 'sv' | 'tr' | 'uk' | 'zh-CN'; export type PartialRecord = Partial>; export type Translatable = string | PartialRecord; export declare enum CookieType { NECESSARY = "necessary", OPTIONAL = "optional" } export interface Cookie { description?: Translatable; id: string; isPreselected?: boolean; name: Translatable; links?: Record; src?: string; targetCookieIds?: string[]; } export interface LocaleStrings { accept: string; acceptAll: string; bannerDescription: string; bannerTitle: string; close: string; cookiesFunctional: string; cookiesNecessary: string; cookiesOptional: string; iframeBlocked: string; decline: string; declineAll: string; here: string; manageCookies: string; save: string; settingsUnsaved: string; } export interface ModuleOptions { barPosition: 'top-left' | 'top-right' | 'top-full' | 'bottom-left' | 'bottom-right' | 'bottom-full'; closeModalOnClickOutside: boolean; colors: false | Record; cookieExpiryOffsetMs: number; cookieNameCookiesEnabledIds: string; cookieNameIsConsentGiven: string; cookies: { necessary: Cookie[]; optional: Cookie[]; }; cookieOptions: CookieOptions & { readonly?: false; }; isAcceptNecessaryButtonEnabled: boolean; isControlButtonEnabled: boolean; isCookieIdVisible: boolean; isCssEnabled: boolean; isCssPonyfillEnabled: boolean; isDashInDescriptionEnabled: boolean; isIframeBlocked: boolean; isModalForced: boolean; declineAllAcceptsNecessary: boolean; locales: Locale[]; localeTexts: PartialRecord>; } export declare const DEFAULTS: Required; export interface State { cookiesEnabled: Ref; cookiesEnabledIds: Ref; isConsentGiven: Ref; isModalActive: Ref; locale: Ref; moduleOptions: ModuleOptions; } declare module '#app' { interface NuxtApp { $cookies: State; } } declare module 'vue' { interface ComponentCustomProperties { $cookies: State; } }