import { ObjectID } from "bson";
export declare enum INTERNAL_APPLICATION {
    RED = "BRONTOSAURUS_RED",
    GREEN = "BRONTOSAURUS_GREEN",
    PORTAL = "BRONTOSAURUS_PORTAL"
}
export declare type ApplicationRedirection = {
    readonly name: string;
    readonly regexp: string;
};
export declare type ApplicationOthersConfig = {
    avatar?: string;
    backgroundImage?: string;
    favicon?: string;
    helpLink?: string;
    privacyPolicy?: string;
};
export interface IApplicationConfig extends ApplicationOthersConfig {
    readonly anchor: string;
    readonly key: string;
    name: string;
    green: string;
    greenAccess: boolean;
    portalAccess: boolean;
    expire: number;
    publicKey: string;
    privateKey: string;
    redirections: ApplicationRedirection[];
    iFrameProtocol: boolean;
    postProtocol: boolean;
    alertProtocol: boolean;
    noneProtocol: boolean;
    groups: ObjectID[];
    requires: ObjectID[];
    requireTags: ObjectID[];
}
export interface IApplication extends IApplicationConfig {
    active: boolean;
    readonly createdAt: Date;
    readonly updatedAt: Date;
}
