@apideck/react-vault
Version:
<br />
55 lines (54 loc) • 2.07 kB
TypeScript
import { ReactNode } from 'react';
import { Connection } from '../types/Connection';
import { FormField } from '../types/FormField';
interface ContextProps {
connections: Connection[];
deleteConnection: (connection: Connection) => void;
denyConsent: (connection: Connection, resources: any) => Promise<void>;
grantConsent: (connection: Connection, resources: any) => Promise<void>;
revokeConsent: (connection: Connection, resources: any) => Promise<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>;
fetchConsentRecords: (connection: Connection) => 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 {};