import { type ReactNode, type ComponentType } from 'react';
import type { ReactElement } from 'react';
import type { ExtensionConfig, ExtensionContextValue, PageProps, ColumnExtension, FormFieldExtension } from './types';
/**
 * Hook to access extension configuration and utilities
 */
export declare function useExtensions(): ExtensionContextValue;
/**
 * Hook to get an overridden page component
 */
export declare function usePageOverride(pageKey: string): ComponentType<PageProps> | undefined;
/**
 * Hook to get table column extensions
 */
export declare function useTableColumnExtensions(tableId: string): ColumnExtension[];
/**
 * Hook to get form field extensions
 */
export declare function useFormFieldExtensions(formId: string): FormFieldExtension[];
/**
 * Hook to check if a specific extension is configured
 */
export declare function useHasExtension(key: string): boolean;
interface ExtensionProviderProps {
    readonly config?: ExtensionConfig;
    readonly children: ReactNode;
}
/**
 * ExtensionProvider - Provides extension configuration to the app
 */
export declare function ExtensionProvider({ config, children }: ExtensionProviderProps): ReactElement;
export {};
//# sourceMappingURL=ExtensionContext.d.ts.map