import React from 'react';
import type { TextInput as RNTextInput } from 'react-native';
export interface Attachment {
    id: string;
    uri: string;
    type: 'image' | 'document';
    name: string;
    size: number;
    mimeType: string;
    isLoading?: boolean;
}
export type PromptInputContextType = {
    isLoading: boolean;
    value: string;
    setValue: (value: string) => void;
    maxHeight: number;
    onSubmit?: () => void;
    disabled?: boolean;
    textareaRef: React.RefObject<RNTextInput | null>;
    currentHeight: number;
    setCurrentHeight: (height: number) => void;
    isFullscreen: boolean;
    onImagePaste?: (files: File[]) => void;
    attachments: Attachment[];
    addAttachment: (attachment: Attachment) => void;
    removeAttachment: (id: string) => void;
    updateAttachment: (id: string, updates: Partial<Attachment>) => void;
    handleCompletionKey: ((key: string) => boolean) | null;
    setHandleCompletionKey: (fn: ((key: string) => boolean) | null) => void;
};
export declare const PromptInputContext: React.Context<PromptInputContextType>;
export declare function usePromptInput(): PromptInputContextType;
export declare function useIsFullscreen(): boolean;
//# sourceMappingURL=context.d.ts.map