import { AptlyUserRoles } from '../core/index.js';
import { AptlyBaseSchema } from './extends.js';
import { AptlyMediaSrcSchema } from './media.js';
export declare enum AptlyLanguage {
    English = "en",
    Norwegian = "no",
    NorwegianBokmal = "nb"
}
export declare enum AptlyUserForgetStatus {
    None = 0,
    SixMonths = 1,
    OneMonth = 2,
    OneWeek = 3,
    Forget = 4,
    Forgotten = 5,
    Never = 6
}
export type AptlyUser = AptlyUserSchema<string, string>;
export interface AptlyUserSchema<ID, DATE> extends Omit<AptlyBaseSchema<ID, DATE>, 'archived' | 'name'> {
    email: string;
    fullName: string;
    firstName?: string;
    lastName?: string;
    profileImage: string | null;
    phone: string;
    synced: DATE;
    language?: AptlyLanguage;
    verifiedAt?: DATE;
    permissions: AptlyUserRoles[];
    roles: AptlyUserRoles[];
    gdpr: boolean;
    isGuest?: boolean;
    forgetStatus?: AptlyUserForgetStatus;
    lastNewsRead?: ID;
    media?: AptlyMediaSrcSchema<ID, DATE> | null;
    created: DATE;
}
