import { ReactNode } from 'react';
import { Connection } from '../types/Connection';
import { FormField } from '../types/FormField';
interface ContextProps {
    connections: Connection[];
    deleteConnection: (connection: Connection) => void;
    detailsError: any;
    error: any;
    isLoading: boolean;
    isLoadingDetails: boolean;
    isUpdating: boolean;
    resources: {
        resource: string;
        defaults: FormField[];
    }[] | [];
    selectedConnection: Connection | null;
    setSelectedConnection: (connection: Connection | null) => void;
    singleConnectionMode: boolean;
    sessionExpired: boolean;
    unifyBaseUrl: string;
    headers: any;
    token?: string;
    connectionsUrl?: string;
    updateConnection: (options: {
        unifiedApi: string;
        serviceId: string;
        values: any;
        resource?: string;
        quiet?: boolean;
    }) => Promise<Connection | null>;
    fetchResourceSchema: (resource: string) => Promise<any>;
    fetchResourceExample: (resource: string) => Promise<any>;
    fetchCustomFields: (resource: string) => Promise<any>;
}
interface Props {
    token: string;
    appId: string;
    consumerId: string;
    isOpen: boolean;
    unifiedApi?: string;
    serviceId?: string;
    children: ReactNode;
    onClose: () => any;
    onConnectionChange?: (connection: Connection) => any;
    onConnectionDelete?: (connection: Connection) => any;
    unifyBaseUrl: string;
}
export declare const ConnectionsProvider: ({ token, appId, consumerId, isOpen, unifiedApi, serviceId, unifyBaseUrl, children, onConnectionChange, onConnectionDelete, onClose, }: Props) => JSX.Element;
export declare const useConnections: () => ContextProps;
export {};
