import { CONSENT_ACTION, CONSENT_TYPE } from '../enums';
import { Consent as ServiceConsent } from '../../SettingsV2/interfaces';
export interface Consent {
    action: CONSENT_ACTION;
    status: boolean;
    type: CONSENT_TYPE;
}
export interface DataTransferObject {
    applicationVersion: string;
    consent: Consent;
    service: {
        id: string;
        categorySlug: string;
        name: string;
        processorId: string;
        version: string;
    };
    settings: {
        controllerId: string;
        id: string;
        language: string;
        referrerControllerId: string;
        version: string;
    };
    timestamp: number;
}
export interface DataFacadeService {
    categorySlug: string;
    consent: ServiceConsent;
    id: string;
    name: string;
    processorId: string;
    version: string;
}
export interface ConsentV2 {
    consentStatus: boolean;
    consentTemplateId: string;
    consentTemplateVersion: string;
}
export interface ConsentV2Metadata {
    timestamp: number;
    vendors: (number | number[])[][];
    vendorsDisclosed?: number[];
}
export interface ConsentDTOV2 {
    action: CONSENT_ACTION;
    analytics: boolean;
    controllerId: string;
    appVersion: string;
    language: string;
    settingsId: string;
    settingsVersion: string;
    consentString?: string;
    acString?: string;
    consentMeta?: string;
    consents: ConsentV2[];
    timestamp?: number;
    xdevice: boolean;
}
type IndexSignature<O extends object> = {
    [P in keyof O]: O[P];
};
export type ConsentDTOV2Record = IndexSignature<ConsentDTOV2>;
export {};
