import { OmniaNamedModel, IOmniaPropertyBag } from "./NamedProperty";
import { TenantIdentifier } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { FirstDayOfWeeks, TimeFormats } from "./Enums";
import { LanguageSettings } from "./Language";
import { MultilingualString } from "./MultilingualString";
export interface ITenant extends TenantIdentifier {
    readonly propertyBag: IOmniaPropertyBag<TenantProperty>;
    readonly properties: Array<TenantProperty>;
}
export interface TenantWithProperties extends TenantIdentifier {
    properties: Array<TenantProperty>;
}
export declare abstract class TenantProperty extends OmniaNamedModel {
}
export declare class TenantRegionalSettings extends TenantProperty {
    constructor();
    dateFormat: string;
    timeFormat: TimeFormats;
    firstDayOfWeek: FirstDayOfWeeks;
}
export declare class TenantLanguageSettings extends TenantProperty {
    languages: Array<LanguageSettings>;
    excludeCountry?: boolean;
    constructor();
}
export declare class TenantCSOMClientContextFallbackUrl extends TenantProperty {
    fallbackUrl: string;
    constructor();
}
export declare class TenantErrorInformation extends TenantProperty {
    enableErrorInformation: boolean;
    constructor();
}
export declare class TenantInfoSettings extends TenantProperty {
    title: MultilingualString;
    homeUrl: string;
    msTeamsHomeUrl: string;
    constructor();
}
export declare class TenantAuthenticationSettings extends TenantProperty {
    static DefaultOmniaTokenExpiredHours: number;
    static MinOmniaTokenExpiredHours: number;
    static MaxOmniaTokenExpiredHours: number;
    enableITPCompatibility: boolean;
    omniaTokenExpiredHours: number;
    constructor();
}
export declare class TenantPeopleInformation extends TenantProperty {
    enablePeopleInformation: boolean;
    showLinkToDelve: boolean;
    enableEditUserProfile: boolean;
    showMySubscriptions: boolean;
    excludeFilters: {
        propertyInternalName: string;
        value: string;
    }[];
    showBlockedSignInUser: boolean;
    constructor();
}
export declare abstract class TenantApiSettings extends TenantProperty {
    resultHash: string;
}
export declare class AllEnterprisePropertiesContentHashSettings extends TenantApiSettings {
    constructor();
}
export declare class AllEnterprisePropertyDataTypesContentHashSettings extends TenantApiSettings {
    constructor();
}
export declare class TenantEnterpriseGlossary extends TenantProperty {
    ids: number[];
    constructor();
}
export declare class TenantFaviconSettings extends TenantProperty {
    links?: string[];
    constructor();
}
export declare class TenantPreSetup extends TenantProperty {
    contextSiteCreated?: boolean;
    tenantAdminAdded?: boolean;
    constructor();
}
