import type { OtherHTMLAttributes } from '@instructure/shared-types';
import type { ActionItemsChild } from './TopNavBarActionItems/props';
import type { BrandChild } from './TopNavBarBrand/props';
import type { ItemChild } from './TopNavBarItem/props';
import type { LayoutChild } from './TopNavBarLayout/props';
import type { MenuItemsChild } from './TopNavBarMenuItems/props';
import type { UserChild } from './TopNavBarUser/props';
import type { TopNavBarContextType } from './TopNavBarContext';
type TopNavBarOwnProps = {
/**
* A required children function that returns a `` component.
* The function has the 2 parameters: the current layout ('desktop' or 'smallViewport') and whether it is currently in "inverseColor" mode.
*/
children: (props: {
currentLayout: TopNavBarContextType['layout'];
inverseColor: TopNavBarContextType['inverseColor'];
}) => LayoutChild;
/**
* The breakpoint between 'desktop' and 'smallViewport' mode.
*/
breakpoint?: string | number;
/**
* Specifies if the underlying `` component should use element or media queries
*/
mediaQueryMatch?: 'element' | 'media';
/**
* Displays the TopNavBar in inverse color mode.
* If a function is passed, the function has the current layout ('desktop' or 'smallViewport') as its parameter.
*/
inverseColor?: boolean | ((currentLayout: TopNavBarContextType['layout']) => boolean);
/**
* A function that returns a reference to root HTML element
*/
elementRef?: (el: HTMLDivElement | null) => void;
};
type PropKeys = keyof TopNavBarOwnProps;
type AllowedPropKeys = Readonly>;
type TopNavBarProps = TopNavBarOwnProps & OtherHTMLAttributes;
declare const allowedProps: AllowedPropKeys;
export type { TopNavBarProps, TopNavBarOwnProps, ActionItemsChild, BrandChild, LayoutChild, ItemChild, MenuItemsChild, UserChild };
export { allowedProps };
//# sourceMappingURL=props.d.ts.map