export { QueryRenderer, fetchQuery, graphql } from "./index"; import { ConnectionConfig, RelayPaginationProp as RelayModernPaginationProp, RelayRefetchProp as RelayModernRefetchProp, } from "./index"; export { ConcreteFragment, ConcreteRequest, ConcreteBatchRequest } from "relay-runtime"; import * as RelayRuntimeTypes from "relay-runtime"; import { RelayEnvironmentInterface } from "./classic"; // ~~~~~~~~~~~~~~~~~~~~~ // Maybe Fix // ~~~~~~~~~~~~~~~~~~~~~ export type ConcreteFragmentDefinition = object; export type ConcreteOperationDefinition = object; // ~~~~~~~~~~~~~~~~~~~~~ // Util // ~~~~~~~~~~~~~~~~~~~~~ export function getFragment(q: string, v?: RelayRuntimeTypes.Variables): string; export interface ComponentWithFragment extends React.ComponentClass { getFragment: typeof getFragment; } export interface StatelessWithFragment extends React.StatelessComponent { getFragment: typeof getFragment; } export type ReactFragmentComponent = ComponentWithFragment | StatelessWithFragment; export type RelayClassicEnvironment = RelayEnvironmentInterface; // ~~~~~~~~~~~~~~~~~~~~~ // RelayCompatTypes // ~~~~~~~~~~~~~~~~~~~~~ export type CompatEnvironment = RelayRuntimeTypes.Environment | RelayClassicEnvironment; // ~~~~~~~~~~~~~~~~~~~~~ // RelayProps // ~~~~~~~~~~~~~~~~~~~~~ export interface RelayProp { environment: CompatEnvironment; } export type RelayPaginationProp = RelayModernPaginationProp & RelayProp; export type RelayRefetchProp = RelayModernRefetchProp & RelayProp; // ~~~~~~~~~~~~~~~~~~~~~ // RelayCompatMutations // ~~~~~~~~~~~~~~~~~~~~~ export function commitMutation( environment: CompatEnvironment, config: RelayRuntimeTypes.MutationConfig ): RelayRuntimeTypes.Disposable; export function applyOptimisticMutation( environment: CompatEnvironment, config: RelayRuntimeTypes.OptimisticMutationConfig ): RelayRuntimeTypes.Disposable; // ~~~~~~~~~~~~~~~~~~~~~ // RelayCompatContainers // ~~~~~~~~~~~~~~~~~~~~~ export interface GeneratedNodeMap { [key: string]: RelayRuntimeTypes.GraphQLTaggedNode; } export function createFragmentContainer( Component: React.ComponentType, fragmentSpec: RelayRuntimeTypes.GraphQLTaggedNode | GeneratedNodeMap ): ReactFragmentComponent; export function createRefetchContainer( Component: React.ComponentType, fragmentSpec: RelayRuntimeTypes.GraphQLTaggedNode | GeneratedNodeMap, taggedNode: RelayRuntimeTypes.GraphQLTaggedNode ): ReactFragmentComponent; export function createPaginationContainer( Component: React.ComponentType, fragmentSpec: RelayRuntimeTypes.GraphQLTaggedNode | GeneratedNodeMap, connectionConfig: ConnectionConfig ): ReactFragmentComponent; // ~~~~~~~~~~~~~~~~~~~~~ // injectDefaultVariablesProvider // ~~~~~~~~~~~~~~~~~~~~~ export type VariablesProvider = () => RelayRuntimeTypes.Variables; export function injectDefaultVariablesProvider(variablesProvider: VariablesProvider): void;