import { CONSENT_ACTION, CONSENT_TYPE } from '../../..';
import { ConsentDTOV2, ConsentHistory } from '../../DataFacade/interfaces';
import { Consents } from '../../Api/interfaces/interfaces';
export interface LatestConsentData {
    consentAction: CONSENT_ACTION;
    consentType: CONSENT_TYPE;
    settingVersion: string;
    timestamp: number;
}
export interface NewStorageService {
    history: number[];
    id: string;
    processorId: string;
}
export interface NewStorageSettings {
    controllerId: string;
    id: string;
    language: string;
    latestConsentData?: LatestConsentData;
    serviceHistoryTimestamp: number[];
    services: NewStorageService[];
    version: number;
}
export interface StorageCcpa {
    timestamp: number;
    ccpaString: string;
}
export interface StorageConsentsBuffer {
    consents: Consents;
    timestamp: number;
}
export interface StorageConsentsV2Buffer {
    consents: ConsentDTOV2;
    timestamp: number;
}
export interface StorageSettings {
    controllerId: string;
    id: string;
    language: string;
    services: StorageService[];
    version: string;
}
export interface StorageService {
    history: ConsentHistory[];
    id: string;
    processorId: string;
    status: boolean;
}
export interface StorageTCF {
    acString: string;
    tcString: string;
    timestamp: number;
    vendors: (number | number[])[][];
    vendorsDisclosed?: number[];
}
export interface StorageTCFVendorsDisclosed {
    [key: string]: boolean;
}
type GcmStatus = 'granted' | 'denied';
type UetStatus = 'granted' | 'denied';
export interface StorageGcm {
    analyticsStorage?: GcmStatus;
    adStorage?: GcmStatus;
    adPersonalization?: GcmStatus;
    adUserData?: GcmStatus;
    adsDataRedaction?: boolean;
}
export interface StorageUet {
    adStorage: UetStatus;
}
export {};
