import { PktIconName } from '@oslokommune/punkt-assets/dist/icons/icon';
import { booleanishConverter, Booleanish, User as SharedUser, Representing as SharedRepresenting, UserMenuItem as SharedUserMenuItem, TInternalMenuItem as SharedTInternalMenuItem, TSlotMenuVariant, THeaderMenu, TLogOutButtonPlacement, THeaderPosition, THeaderScrollBehavior } from '../../shared-types';
export type { Booleanish, TSlotMenuVariant, THeaderMenu, TLogOutButtonPlacement, THeaderPosition, THeaderScrollBehavior, };
export { booleanishConverter };
export type User = SharedUser;
export type Representing = SharedRepresenting;
export type UserMenuItem = SharedUserMenuItem<PktIconName>;
export type TInternalMenuItem = SharedTInternalMenuItem<PktIconName>;
/**
 * Helper to convert UserMenuItem (with target) to internal format
 */
export declare const convertUserMenuItem: (item: UserMenuItem) => TInternalMenuItem;
/**
 * Interface for the Header component props
 */
export interface IPktHeader {
    /** Hide the Oslo logo */
    hideLogo?: Booleanish;
    /** Logo link URL */
    logoLink?: string;
    /** Service name displayed in the header */
    serviceName?: string;
    /** Service link URL */
    serviceLink?: string;
    /** Use compact header height */
    compact?: Booleanish;
    /** Header position. 'fixed' fixes to top of viewport, 'relative' follows document flow. Default: 'fixed' */
    position?: THeaderPosition;
    /** Scroll behavior. 'hide' hides header on scroll down, 'none' keeps it visible. Default: 'hide' */
    scrollBehavior?: THeaderScrollBehavior;
    /** User object for logged-in user */
    user?: User;
    /** User menu items */
    userMenu?: UserMenuItem[];
    /** Representation object */
    representing?: Representing;
    /** Allow user to change representation */
    canChangeRepresentation?: Booleanish;
    /** Logout button placement */
    logOutButtonPlacement?: TLogOutButtonPlacement;
    /** Whether there's a logout handler attached (required for logout button to show) */
    hasLogOut?: Booleanish;
    /** Show search field */
    showSearch?: Booleanish;
    /** Search field placeholder */
    searchPlaceholder?: string;
    /** Controlled search value */
    searchValue?: string;
    /** Custom breakpoint for responsive behavior in pixels. Default: 1024 */
    mobileBreakpoint?: number;
    /** Custom breakpoint for tablet responsive behavior in pixels. Default: 1280 */
    tabletBreakpoint?: number;
    /** Which menu is initially open */
    openedMenu?: THeaderMenu;
    /** Variant for the slot menu button. Default: 'icon-only' */
    slotMenuVariant?: TSlotMenuVariant;
    /** Text for the slot menu button. Default: 'Meny' */
    slotMenuText?: string;
}
