import { ComponentType, ReactNode } from 'react';
import { App, AppSettings, Asset, FracFleet, InterventionUnit, User, Well } from '../../types';
export type GlobalOffsetWell = {
    id: number;
    [key: string]: unknown;
};
export type AppCommonsContextType = {
    maximized: boolean;
    appId: number;
    app: App;
    appKey: string;
    appName: string;
    appSettings?: AppSettings;
    onSettingChange: (key: string, value: unknown) => void;
    onSettingsChange: (value: unknown) => void;
    well?: Well;
    rig?: Asset;
    fracFleet?: FracFleet;
    interventionUnit?: InterventionUnit;
    wells?: Well[];
    dashboardMeta?: {
        v3?: boolean;
        isMultiAsset?: boolean;
        isMultiWell?: boolean;
        isChiplessDashboard?: boolean;
    };
    appHeadersV3Enabled?: boolean;
    disableAppAssetSelection?: boolean;
    currentUser?: User;
    globalOffsetWells?: GlobalOffsetWell[];
    globalOffsetWellsVersion?: number;
};
export type AppCommonsContextTypeInternal = AppCommonsContextType & {
    setMaximized: (maximized: boolean) => void;
    appData?: unknown;
    layoutEnvironment?: {
        type?: string;
    };
    appSettingsComponent?: ComponentType<any>;
    toggleAnnotationsList?: () => void;
    onHelpCenterClick?: () => void;
    onAppRemove?: () => void;
    secondaryMenuItems?: {
        title: ReactNode;
        onClick?: () => void;
        icon?: ReactNode;
    }[];
    isInsideNewMobileApp?: boolean;
    reloadApp?: () => void;
};
export declare const AppCommonsContext: import("react").Context<AppCommonsContextTypeInternal>;
export declare const useAppCommonsInternal: () => AppCommonsContextTypeInternal;
export declare const useAppCommons: () => AppCommonsContextType;
//# sourceMappingURL=AppCommonsContext.d.ts.map