import React from 'react';
import type { ChatAttachment } from '../hooks/useChatAgent';
export type AttachmentCallbackResult = Promise<{
    sourceUrl?: string;
}> | {
    sourceUrl?: string;
};
export type AttachmentCallback = (attachment: ChatAttachment) => AttachmentCallbackResult;
export interface ChatSettingsContextValue {
    agentPrompt: string;
    setAgentPrompt: (value: string) => void;
    resetAgentPrompt: () => void;
    attachmentCallbackSource: string;
    setAttachmentCallbackSource: (value: string) => void;
    resetAttachmentCallbackSource: () => void;
    attachmentCallback?: AttachmentCallback;
    attachmentCallbackError: string | null;
    isAgentPromptOverridden: boolean;
    isAttachmentCallbackOverridden: boolean;
}
export interface ChatSettingsProviderProps {
    children: React.ReactNode;
    attachmentCallback?: AttachmentCallback;
    systemPrompt?: string;
}
export declare const ChatSettingsProvider: React.FC<ChatSettingsProviderProps>;
export declare const useChatSettings: () => ChatSettingsContextValue;
//# sourceMappingURL=ChatSettingsContext.d.ts.map