import { Model, InferAttributes, InferCreationAttributes, CreationOptional, NonAttribute, ModelStatic } from "vr-migrations"; import type { User } from "./user.models"; export type AppTheme = "light" | "dark" | "system"; export type ButtonStyle = "rounded" | "square" | "pill"; export type FontFamily = "system" | "roboto" | "poppins" | "inter" | "montserrat"; export interface AppSpecsAttributes { id: string; appName: string; appShortName: string | null; appDescription: string | null; appDefaultLanguage: string; appSupportedLanguages: string[]; privacyPolicy: string | null; privacyPolicyVersion: string | null; privacyPolicyUpdatedAt: Date | null; termsAndConditions: string | null; termsAndConditionsVersion: string | null; termsAndConditionsUpdatedAt: Date | null; aboutUs: string | null; aboutUsUpdatedAt: Date | null; enableRiderAccess: boolean; enablePassengerAccess: boolean; enableAgentAccess: boolean; enableAdminAccess: boolean; enableCashPayment: boolean; enableMomoPayPayment: boolean; enableAirtelMoneyPayment: boolean; facebookUrl: string | null; twitterUrl: string | null; instagramUrl: string | null; linkedinUrl: string | null; youtubeUrl: string | null; websiteUrl: string | null; supportEmail: string | null; supportPhone: string | null; companyName: string | null; companyAddress: string | null; companyEmail: string | null; companyPhone: string | null; companyTaxId: string | null; isUnderMaintenance: boolean; maintenanceMessage: string | null; maintenanceStartAt: Date | null; maintenanceEndAt: Date | null; updatedBy: string | null; version: number; isActive: boolean; createdAt: Date; updatedAt: Date; lastEditor?: User; } export interface AppSpecsCreationAttributes extends Omit { id?: string; version?: number; isActive?: boolean; privacyPolicyUpdatedAt?: Date | null; termsAndConditionsUpdatedAt?: Date | null; aboutUsUpdatedAt?: Date | null; } export declare class AppSpecs extends Model, InferCreationAttributes> implements AppSpecsAttributes { id: CreationOptional; appName: string; appShortName: CreationOptional; appDescription: CreationOptional; appDefaultLanguage: CreationOptional; appSupportedLanguages: CreationOptional; privacyPolicy: CreationOptional; privacyPolicyVersion: CreationOptional; privacyPolicyUpdatedAt: CreationOptional; termsAndConditions: CreationOptional; termsAndConditionsVersion: CreationOptional; termsAndConditionsUpdatedAt: CreationOptional; aboutUs: CreationOptional; aboutUsUpdatedAt: CreationOptional; enableRiderAccess: CreationOptional; enablePassengerAccess: CreationOptional; enableAgentAccess: CreationOptional; enableAdminAccess: CreationOptional; enableCashPayment: CreationOptional; enableMomoPayPayment: CreationOptional; enableAirtelMoneyPayment: CreationOptional; facebookUrl: CreationOptional; twitterUrl: CreationOptional; instagramUrl: CreationOptional; linkedinUrl: CreationOptional; youtubeUrl: CreationOptional; websiteUrl: CreationOptional; supportEmail: CreationOptional; supportPhone: CreationOptional; companyName: CreationOptional; companyAddress: CreationOptional; companyEmail: CreationOptional; companyPhone: CreationOptional; companyTaxId: CreationOptional; isUnderMaintenance: CreationOptional; maintenanceMessage: CreationOptional; maintenanceStartAt: CreationOptional; maintenanceEndAt: CreationOptional; updatedBy: CreationOptional; version: CreationOptional; isActive: CreationOptional; readonly createdAt: CreationOptional; readonly updatedAt: CreationOptional; lastEditor?: NonAttribute; static initialize(sequelize: any): void; static associate(models: Record>): void; updateWithVersion(data: Partial, editorId: string): Promise; archive(): Promise; activate(): Promise; isInMaintenance(): boolean; getMaintenanceMessage(): string | null; static getActive(): Promise; } export type AppSpecsModel = typeof AppSpecs;