import { AptlyHistoryType } from '../enums/index.js';
import { AptlyUserSchema } from './user.js';
export interface AptlyBaseSchema<ID, DATE> {
    _id: ID;
    name: string;
    archived: boolean;
    createdAt: DATE;
    updatedAt: DATE;
}
export type AptlyHistory = AptlyHistorySchema<string, string>;
export interface AptlyHistorySchema<ID, DATE> {
    locked: boolean;
    lastChange: DATE;
    history: AptlyHistoryHistorySchema<ID, DATE>[];
}
export type AptlyHistoryHistory = AptlyHistoryHistorySchema<string, string>;
export interface AptlyHistoryHistorySchema<ID, DATE> {
    _id: ID;
    type: AptlyHistoryType;
    referenceDate: DATE;
    diffDate: DATE;
    diff: object;
    user: ID | Pick<AptlyUserSchema<ID, DATE>, '_id' | 'fullName'>;
    meta?: object;
}
export interface AptlyDBCrawlerCleaner {
    dontClean?: boolean;
    lastClean?: boolean;
}
