/** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Variant of button to be used */ export type Variant = "primary" | "secondary" | "tertiary"; export type InternalKey = string; export type RequiredCookies = { key?: InternalKey; /** * The name of the required cookie */ name?: string; /** * A description of the required cookie */ description?: string; }[]; export type InternalKey1 = string; /** * Optional custom component identifier */ export type KsComponentAttribute = string; /** * Cookie consent component for managing user consent regarding cookies and tracking technologies on a website. */ export interface CookieConsentProps { notice?: InitialCookieConsentNotice; revisitButton?: RevisitCookieConsentButton; dialog?: CookieConsentDialogue; component?: KsComponentAttribute; } /** * The initial notice displayed to users regarding cookie consent. */ export interface InitialCookieConsentNotice { /** * The display mode of the cookie consent component */ displayMode?: "card" | "banner"; /** * The title of the cookie consent section */ title?: string; acceptButton?: { /** * The label for the accept button */ label?: string; }; rejectButton?: { /** * The label for the reject button */ label?: string; }; customizeButton?: { /** * The label for the customize button */ label?: string; variant?: Variant; }; decisionButtonVariant?: Variant; /** * The description of the cookie consent section */ description?: string; } /** * The button that allows users to revisit their cookie preferences. */ export interface RevisitCookieConsentButton { /** * The label for the revisit button */ label?: string; } /** * The dialog displayed when users choose to customize their cookie preferences. */ export interface CookieConsentDialogue { /** * The title of the cookie consent dialogue */ title?: string; /** * The description of the cookie consent dialogue */ description?: string; required?: RequiredCookies; buttons?: { /** * The label for the accept button in the dialog */ acceptLabel?: string; /** * The label for the reject button in the dialog */ rejectLabel?: string; /** * The label for the button to save preferences */ savePreferencesLabel?: string; }; /** * The variant of the decision buttons in the dialog */ decisionButtonVariant?: "secondary" | "tertiary"; options?: { key?: InternalKey1; /** * The name of the cookie category */ name?: string; /** * A description of the cookie category */ description?: string; }[]; toggleLabels?: { /** * Label for enabled toggle state */ accept?: string; /** * Label for disabled toggle state */ reject?: string; }; /** * Label that indicates that the cookie category is always active */ alwaysActiveLabel?: string; }