import { BundleStructure } from './bundle.interface';
export interface HatApplication {
    application: HatApplicationContent;
    setup: boolean;
    enabled: boolean;
    active: boolean;
    needsUpdating?: boolean;
    mostRecentData?: string;
}
export interface HatApplicationContent {
    id: string;
    kind: HatApplicationKind;
    info: HatApplicationInfo;
    developer: HatApplicationDeveloper;
    dependencies?: HatApplicationDependencies;
    permissions: HatApplicationPermissions;
    setup: HatApplicationSetup;
    status: HatApplicationStatus;
}
interface HatApplicationKind {
    kind: string;
    url?: string;
    iosUrl?: string;
    androidUrl?: string;
}
interface HatApplicationInfo {
    version: string;
    name: string;
    headline: string;
    description: HatApplicationDescription;
    dataUsePurpose: string;
    graphics: HatApplicationGraphics;
    hmiDescription?: string;
    published: boolean;
    rating: {
        score: string;
        points: number;
    };
    supportContact: string;
    termsUrl: string;
    updateNotes?: HatApplicationUpdateNotes;
    primaryColor?: string;
}
export interface HatApplicationDeveloper {
    id: string;
    name: string;
    url: string;
    country: string;
}
interface HatApplicationUpdateNotes {
    header: string;
    notes?: Array<string>;
}
export interface HatApplicationDescription {
    text: string;
    markdown: string;
    html: string;
}
export interface HatApplicationGraphics {
    banner: HatApplicationGraphicsSize;
    logo: HatApplicationGraphicsSize;
    screenshots: HatApplicationGraphicsSize[];
}
interface HatApplicationGraphicsSize {
    small?: string;
    normal: string;
    large?: string;
    xlarge?: string;
}
interface HatApplicationPermissions {
    rolesGranted: {
        role: string;
        detail?: string;
    }[];
    dataRequired?: HatApplicationDataRequired;
    dataRetrieved?: BundleStructure;
}
interface HatApplicationDataRequired {
    bundle: BundleStructure;
    startDate: string;
    endDate: string;
    rolling: boolean;
}
export interface HatApplicationSetup {
    url?: string;
    iosUrl?: string;
    androidUrl?: string;
    testingUrl?: string;
    onboarding: HatApplicationOnboarding[];
    kind: string;
    validRedirectUris: string[];
    dependencies?: string[];
}
interface HatApplicationOnboarding {
    title: string;
    illustration: {
        normal: string;
    };
    description: string;
}
interface HatApplicationDependencies {
    plugs: string[];
    tools: string[];
    contracts: string[];
}
interface HatApplicationStatus {
    compatibility: string;
    expectedStatus: number;
    dataPreviewEndpoint: string;
    recentDataCheckEndpoint: string;
    staticDataPreviewEndpoint?: string;
    versionReleaseDate: string;
    statusUrl: string;
    kind: string;
}
export {};
