import React from 'react';
import type { AdditionalToolDefinition } from './ChatContext';
import type { AdditionalToolPreferences, AdditionalToolWithPermission, FunctionToolPermission } from '../types/additionalTools';
export interface AdditionalToolsContextValue {
    /** Raw tool definitions provided via props */
    definitions: AdditionalToolDefinition[];
    /** Tools resolved with effective permissions */
    tools: AdditionalToolWithPermission[];
    /** Persisted user preferences keyed by tool name */
    preferences: AdditionalToolPreferences;
    /** Indicates localStorage has been read */
    isHydrated: boolean;
    /** Updates a tool permission override */
    setToolPermission: (toolName: string, permission: FunctionToolPermission) => void;
    /** Clears a tool permission override */
    resetToolPermission: (toolName: string) => void;
}
export interface AdditionalToolsProviderProps {
    definitions?: AdditionalToolDefinition[];
    children: React.ReactNode;
}
export declare const AdditionalToolsProvider: React.FC<AdditionalToolsProviderProps>;
export declare const useAdditionalTools: () => AdditionalToolsContextValue;
//# sourceMappingURL=AdditionalToolsContext.d.ts.map