///
import { DarkModeProps, RecursivePartial } from '@leafygreen-ui/lib';
declare const NavElement: {
readonly OrgNavOrgSettings: "orgNavOrgSettings";
readonly OrgNavAccessManagerDropdown: "orgNavAccessManagerDropdown";
readonly OrgNavSupport: "orgNavSupport";
readonly OrgNavNewCase: "orgNavNewCase";
readonly OrgNavBilling: "orgNavBilling";
readonly OrgNavAdmin: "orgNavAdmin";
readonly OrgNavDocs: "orgNavDocs";
readonly OrgNavAllClusters: "orgNavAllClusters";
readonly Logout: "logout";
readonly OrgNavLeaf: "leaf";
readonly OrgNavOrgSelectTrigger: "orgNavOrgSelectTrigger";
readonly OrgNavOrgSelectSearch: "orgNavOrgSelectSearch";
readonly OrgNavViewAllOrganizations: "orgNavViewAllOrganizations";
readonly OrgNavDropdownOrgAccessManager: "orgNavDropdownOrgAccessManager";
readonly OrgNavDropdownProjectAccessManager: "orgNavDropdownProjectAccessManager";
readonly OrgNavDropdownGetHelp: "orgNavDropdownGetHelp";
readonly ProjectNavProjectSelectTrigger: "projectNavProjectSelectTrigger";
readonly ProjectNavProjectSelectSearch: "projectNavProjectSelectSearch";
readonly ProjectNavViewAllProjects: "projectNavViewAllProjects";
readonly ProjectNavAddProject: "projectNavAddProject";
readonly ProjectNavProjectDropdown: "projectNavProjectDropdown";
readonly ProjectNavProjectSettings: "projectNavProjectSettings";
readonly ProjectNavProjectSupport: "projectNavProjectSupport";
readonly ProjectNavProjectIntegrations: "projectNavProjectIntegrations";
readonly ProjectNavCloud: "projectNavCloud";
readonly ProjectNavRealm: "projectNavRealm";
readonly ProjectNavCharts: "projectNavCharts";
readonly ProjectNavInvite: "projectNavInvite";
readonly ProjectNavActivityFeed: "projectNavActivityFeed";
readonly ProjectNavAlerts: "projectNavAlerts";
readonly UserMenuTrigger: "userMenuTrigger";
readonly UserMenuFeedback: "userMenuFeedback";
readonly UserMenuCloud: "userMenuCloud";
readonly UserMenuCloudMFA: "userMenuCloudMFA";
readonly UserMenuCloudInvitations: "userMenuCloudInvitations";
readonly UserMenuCloudOrganizations: "userMenuCloudOrganizations";
readonly UserMenuCloudUserPreferences: "userMenuCloudUserPreferences";
readonly UserMenuCloudOther: "userMenuCloudOther";
readonly UserMenuOnPremProfile: "userMenuOnPremProfile";
readonly UserMenuOnPremTwoFactorAuth: "userMenuOnPremTwoFactorAuth";
readonly UserMenuOnPremPersonalization: "userMenuOnPremPersonalization";
readonly UserMenuOnPremInvitations: "userMenuOnPremInvitations";
readonly UserMenuOnPremOrganizations: "userMenuOnPremOrganizations";
readonly UserMenuOnPremPublicApiAccess: "userMenuOnPremPublicApiAccess";
readonly UserMenuOnPremFeatureRequest: "userMenuOnPremFeatureRequest";
readonly UserMenuOnPremSignOut: "userMenuOnPremSignOut";
readonly UserMenuOnPremOther: "userMenuOnPremOther";
readonly UserMenuDocs: "userMenuDocs";
readonly UserMenuUniversity: "userMenuUniversity";
readonly UserMenuDevHub: "userMenuDevHub";
readonly UserMenuForums: "userMenuForums";
readonly UserMenuSupport: "userMenuSupport";
readonly UserMenuLogout: "userMenuLogout";
};
type NavElement = typeof NavElement[keyof typeof NavElement];
export { NavElement };
declare const ActiveNavElement: {
readonly OrgNavOrgSettings: "orgNavOrgSettings";
readonly OrgNavAccessManagerDropdown: "orgNavAccessManagerDropdown";
readonly OrgNavSupport: "orgNavSupport";
readonly OrgNavBilling: "orgNavBilling";
readonly OrgNavAdmin: "orgNavAdmin";
readonly OrgNavAllClusters: "orgNavAllClusters";
readonly OrgNavDropdownOrgAccessManager: "orgNavDropdownOrgAccessManager";
readonly OrgNavDropdownProjectAccessManager: "orgNavDropdownProjectAccessManager";
readonly ProjectNavInvite: "projectNavInvite";
readonly ProjectNavActivityFeed: "projectNavActivityFeed";
readonly ProjectNavAlerts: "projectNavAlerts";
readonly ProjectNavProjectSettings: "projectNavProjectSettings";
readonly ProjectNavProjectSupport: "projectNavProjectSupport";
readonly ProjectNavProjectIntegrations: "projectNavProjectIntegrations";
readonly UserMenuCloudMFA: "userMenuCloudMFA";
readonly UserMenuCloudInvitations: "userMenuCloudInvitations";
readonly UserMenuCloudOrganizations: "userMenuCloudOrganizations";
readonly UserMenuCloudUserPreferences: "userMenuCloudUserPreferences";
readonly UserMenuCloudOther: "userMenuCloudOther";
readonly UserMenuOnPremProfile: "userMenuOnPremProfile";
readonly UserMenuOnPremTwoFactorAuth: "userMenuOnPremTwoFactorAuth";
readonly UserMenuOnPremPersonalization: "userMenuOnPremPersonalization";
readonly UserMenuOnPremInvitations: "userMenuOnPremInvitations";
readonly UserMenuOnPremOrganizations: "userMenuOnPremOrganizations";
readonly UserMenuOnPremPublicApiAccess: "userMenuOnPremPublicApiAccess";
readonly UserMenuOnPremOther: "userMenuOnPremOther";
};
type ActiveNavElement = typeof ActiveNavElement[keyof typeof ActiveNavElement];
export { ActiveNavElement };
declare const Product: {
readonly Charts: "charts";
readonly Cloud: "cloud";
readonly Realm: "realm";
};
type Product = typeof Product[keyof typeof Product];
export type ProductName = ('Cloud Manager' | 'Data Services') | 'Charts' | ('Realm' | 'App Services');
export { Product };
declare const Platform: {
readonly University: "university";
readonly Support: "support";
readonly Cloud: "cloud";
readonly Account: "account";
readonly DevHub: "devHub";
readonly Forum: "forum";
readonly Docs: "docs";
};
type Platform = typeof Platform[keyof typeof Platform];
export { Platform };
declare const Mode: {
readonly Dev: "dev";
readonly Production: "production";
};
type Mode = typeof Mode[keyof typeof Mode];
export { Mode };
declare const Variant: {
readonly Organization: "organization";
readonly Project: "project";
};
type Variant = typeof Variant[keyof typeof Variant];
export { Variant };
declare const PlanType: {
readonly Cloud: "cloud";
readonly Atlas: "atlas";
readonly OnPrem: "onprem";
};
type PlanType = typeof PlanType[keyof typeof PlanType];
export { PlanType };
declare const ErrorCode: {
NO_AUTHORIZATION: string;
};
type ErrorCode = typeof ErrorCode[keyof typeof ErrorCode];
export { ErrorCode };
declare const Environment: {
Commercial: string;
Government: string;
};
type Environment = typeof Environment[keyof typeof Environment];
export { Environment };
export interface PostBodyInterface {
activeProjectId?: string;
activeOrgId?: string;
}
declare const OrgPaymentLabel: {
readonly Embargoed: "EMBARGOED";
readonly EmbargoConfirmed: "EMBARGO_CONFIRMED";
readonly Ok: "OK";
readonly Warning: "WARNING";
readonly Suspended: "SUSPENDED";
readonly Closing: "CLOSING";
readonly AdminSuspended: "ADMIN_SUSPENDED";
readonly Dead: "DEAD";
readonly Locked: "LOCKED";
readonly Closed: "CLOSED";
};
type OrgPaymentLabel = typeof OrgPaymentLabel[keyof typeof OrgPaymentLabel];
export { OrgPaymentLabel };
declare const ProjectStatus: {
Active: string;
Dead: string;
Closing: string;
Closed: string;
};
type ProjectStatus = typeof ProjectStatus[keyof typeof ProjectStatus];
export { ProjectStatus };
export interface AccountInterface {
email: string;
firstName: string;
lastName: string;
shouldSeeAccountMfaBanner?: boolean;
hasLegacy2fa?: boolean;
openInvitations?: number;
username?: string;
admin?: boolean;
}
export interface ProjectInterface {
projectId: string;
projectName: string;
planType?: PlanType;
orgId?: string;
}
export interface CurrentProjectInterface extends ProjectInterface {
alertsOpen: number;
chartsActivated: boolean;
useCNRegionsOnly: boolean;
status?: ProjectStatus;
statusDisplayName?: string;
}
export interface OrganizationInterface {
orgId: string;
orgName: string;
planType: PlanType;
}
export interface CurrentOrganizationInterface extends OrganizationInterface {
paymentStatus?: OrgPaymentLabel;
paymentStatusDisplayName?: string;
}
export interface DataInterface {
readonly account: AccountInterface;
currentOrganization?: CurrentOrganizationInterface;
currentProject?: CurrentProjectInterface;
readonly organizations: Array;
readonly projects: Array;
}
export interface OnPremInterface {
mfa?: boolean;
version?: string;
enabled?: boolean;
}
export interface UserMenuURLS {
cloud?: {
userPreferences: string;
organizations: string;
invitations: string;
mfa: string;
};
university?: {
transcript: string;
faqs: string;
};
support?: {
userPreferences: string;
};
account?: {
homepage?: string;
};
logout?: string;
docs?: string;
devHub?: string;
forums?: {
forumsPreferences: string;
};
}
interface MongoSelectURLS {
viewAllProjects?: string;
viewAllOrganizations?: string;
newProject?: string;
orgSettings?: string;
}
interface OrgNavURLS {
leaf?: string;
settings?: string;
accessManager?: string;
support?: string;
newCase?: string;
docs?: string;
billing?: string;
allClusters?: string;
admin?: string;
}
interface ProjectNavURLS {
settings?: string;
accessManager?: string;
support?: string;
integrations?: string;
alerts?: string;
activityFeed?: string;
invite?: string;
realm?: string;
charts?: string;
}
interface OnPremURLS {
profile?: string;
mfa?: string;
personalization?: string;
invitations?: string;
organizations?: string;
publicApiAccess?: string;
featureRequest?: string;
}
export interface URLSProp {
userMenu?: UserMenuURLS;
mongoSelect?: MongoSelectURLS;
orgNav?: OrgNavURLS;
projectNav?: ProjectNavURLS;
onPrem?: OnPremURLS;
}
export interface URLS {
userMenu: UserMenuURLS;
mongoSelect: MongoSelectURLS;
orgNav: OrgNavURLS;
projectNav: ProjectNavURLS;
onPrem: Required;
}
export interface HostsInterface {
account?: string;
charts?: string;
cloud?: string;
realm?: string;
forums?: string;
support?: string;
university?: string;
}
export interface OnChangeInterface {
value: string;
setData: Function;
event: React.ChangeEvent;
}
export interface MongoNavInterface extends DarkModeProps {
/**
* Describes what product is currently active.
*/
activeProduct?: Product;
/**
* Defines which nav item is reflected
* by the current active page or path
*/
activeNav?: ActiveNavElement;
/**
* Describes whether or not user is an `admin`.
*/
admin?: boolean;
/**
* Callback invoked when user types into organization picker. Receives value of input as first argument and ChangeEvent as the second.
*/
onOrganizationChange?: (OnChangeInterface: OnChangeInterface) => void;
/**
* Callback invoked when user types into project picker. Receives value of input as first argument and ChangeEvent as the second.
*/
onProjectChange?: (OnChangeInterface: OnChangeInterface) => void;
/**
* Function to determine destination URL when user selects a organization from the organization picker, see also `hosts`.
*/
constructOrganizationURL?: (organization: OrganizationInterface) => string;
/**
* Function to determine destination URL when user selects a project from the project picker, see also `hosts`.
*/
constructProjectURL?: (project: ProjectInterface) => string;
/**
* Determines whether the project navigation should be shown.
*/
showProjectNav?: boolean;
/**
* Object where keys are MDB products and values are the desired hostURL override for that product, to enable `` to work across all environments.
*/
hosts?: HostsInterface;
/**
* Object to enable custom overrides for every `href` used in ``.
*/
urls?: URLSProp;
/**
* Describes what environment the component is being used in.
* By default the value is set to `production`.
*/
mode?: Mode;
/**
* Function that is passed an error code as a string, so that consuming application can handle fetch failures.
*/
onError?: (error: ErrorCode) => void;
/**
* Callback that receives the response of the fetched data, having been converted from JSON into an object.
*/
onSuccess?: (response: DataInterface) => void;
/**
* onPrem config object with three keys: enabled, version and mfa
*/
onPrem?: OnPremInterface;
/**
* ID for active organization, will cause a POST request to cloud to update
* current active organization.
*/
activeOrgId?: string;
/**
* ID for active project, will cause a POST request to cloud to update
* current active project.
*/
activeProjectId?: string;
/**
* Applies a className to the root element
*/
className?: string;
/**
* Click EventHandler that receives a NavElement `type` as its first argument and the associated `MouseEvent` as its second
* This prop provides a hook into product link and logout link clicks and allows consuming applications to handle routing internally
*/
onElementClick?: (type: NavElement, event: React.MouseEvent) => void;
/**
* Determines whether or not the component will fetch data from cloud
*/
loadData?: boolean;
/**
* Control fixtureData when in `dev` mode
*/
dataFixtures?: RecursivePartial;
/**
* Describes what platform is currently active.
*/
activePlatform?: Platform;
/**
* Defines interval for alert polling
*/
alertPollingInterval?: number;
/**
* Describes the environment that the consumer is in: `commercial` or `government`
*/
environment?: Environment;
/**
* Defines whether to use "App Services" brand name or "Realm"
* Will be set to `true` in the next release
* @default true
*/
useAppServicesBranding?: boolean;
}
//# sourceMappingURL=types.d.ts.map