import { ReactElement, ReactNode } from 'react';
import { useAppCommons } from '../AppCommonsProvider/AppCommonsContext';
import { Asset, UseWellnessAlertsReturnType } from './AppHeader.constants';
import { AppHeaderV3Props } from './V3';
import { AdditionalAction, TitleMenuAction } from './V3/constants';
export type AppHeaderProps = {
    logo?: string | ReactElement;
    /**
     * Used for offset wells, etc
     * @deprecated use `additionalControls`
     */
    children?: ReactNode;
    /**
     * Disables Pad Mode select for completions
     */
    padModeDisabled?: boolean;
    /**
     * Override wells for Pad Mode Selector
     */
    padModeWells?: ReturnType<typeof useAppCommons>['wells'];
    /**
     * Override change handler for Pad Mode Selector. Useful when pad mode change should also change something else in settings or app's internal store
     *
     * `onSettingChange` from `useAppCommons` hook is used by default
     *
     * @default (value) => onSettingChange('settingsByAsset', value)
     */
    onPadModeChange?: (value?: any) => void;
    /**
     * An escape hatch to tweak the styling of internal elements
     *
     * `actions`, `buttons`, `titleControls` and `versionSelect` are for *V3 only*
     */
    elementsClassNames?: {
        title?: string;
        additional?: string;
        additionalControls?: string;
        chips?: string;
        buttons?: string;
        versionSelect?: string;
        titleControls?: string;
        actions?: string;
    };
    title?: ReactNode;
    className?: string;
    testId?: string;
    /**
     * @deprecated not used in V3
     */
    rightSideContent?: ReactNode;
    /**
     * **(V3 only)** Place for Offset Wells, etc
     */
    additionalControls?: ReactNode;
    /**
     * **(V3 only)** Asset for data quality alerts
     */
    asset?: Asset | Asset[];
    /**
     * **(V3 only)** An escape hatch for when you want to use DQ data in your app, and don't want to load it twice
     */
    dqData?: UseWellnessAlertsReturnType;
    /**
     * **(V3 only)** Unix timestamp (no milliseconds), JS timestamp (with milliseconds), a string in ISO-8601 format, or a Date object of the last update
     */
    lastUpdate?: number | string | Date;
    /**
     * **(V3 only)** Shows "Add Comment" button
     */
    showComments?: boolean;
    /**
     * **(V3 only)** List of additional actions to show as buttons on the right side
     */
    additionalActions?: AdditionalAction[];
    /**
     * **(V3 only)** Used to put some controls alongside title
     */
    titleControls?: ReactNode;
    /**
     * **(V3 only)** Title controls position
     */
    titleControlsPosition?: 'right' | 'left';
    /**
     * **(V3 only)** Disables settings button
     */
    disableSettings?: boolean;
    /**
     * **(V3 only)** Shows asset chips if true
     */
    showAssetChips?: boolean;
    /**
     * **(V3 only)** Disables asset selector
     */
    disableAssetSelector?: boolean;
    /**
     * **(V3 only)** Additional actions to be shown in title dropdown menu
     */
    titleMenuActions?: TitleMenuAction[];
    responsivenessConfig?: AppHeaderV3Props['responsivenessConfig'];
};
export declare const AppHeader: ({ className, testId, logo, children, padModeDisabled, padModeWells, onPadModeChange, elementsClassNames, title, asset, dqData, lastUpdate, additionalActions, showComments, titleControls, titleControlsPosition, disableSettings, showAssetChips, additionalControls, rightSideContent, disableAssetSelector, titleMenuActions, responsivenessConfig, }: AppHeaderProps) => JSX.Element;
//# sourceMappingURL=AppHeader.d.ts.map