import { Component, ReactNode, MouseEvent } from 'react'; import { GraphQLSchema, FragmentDefinitionNode, OperationDefinitionNode, OperationTypeNode } from 'graphql'; export type Variables = { [key: string]: any; }; export type Options = Array<{ id: string; label: string; initial: boolean; }>; export type OptionValues = { [id: string]: boolean; }; export type OperationData = { query: string; name: string; displayName: string; type: OperationTypeNode | "fragment"; variableName: string; variables: Variables; operationDefinition: OperationDefinitionNode | FragmentDefinitionNode; fragmentDependencies: Array; }; export type GenerateOptions = { serverUrl: string; headers: { [name: string]: string; }; context: Object; operationDataList: Array; options: OptionValues; schema?: any; }; export type Snippet = { options: Options; language: string; codeMirrorMode: string; codeMirrorImport?: () => Promise; name: string; generate: (options: GenerateOptions) => string; }; export declare const computeOperationDataList: ({ query, variables, }: { query: string; variables: Variables; }) => { operationDefinitions: (OperationDefinitionNode | FragmentDefinitionNode)[]; fragmentDefinitions: FragmentDefinitionNode[]; rawOperationDataList: OperationData[]; operationDataList: OperationData[]; }; /** * ToolbarMenu * * A menu style button to use within the Toolbar. * Copied from GraphiQL: https://github.com/graphql/graphiql/blob/272e2371fc7715217739efd7817ce6343cb4fbec/src/components/ToolbarMenu.js#L16-L80 */ export declare class ToolbarMenu extends Component<{ title: string; label: string; children: ReactNode; }, { visible: boolean; }> { state: { visible: boolean; }; _node: HTMLAnchorElement | null | undefined; _listener: ((e: Event) => void) | null | undefined; componentWillUnmount(): void; render(): import("react/jsx-runtime").JSX.Element; _subscribe(): void; _release(): void; handleClick(e: Event): void; handleOpen: (e: MouseEvent) => void; } type WrapperProps = { query: string; serverUrl: string; variables: string; context?: Object; headers?: { [name: string]: string; }; snippets: Array; snippet?: Snippet; codeMirrorTheme: string; onSelectSnippet?: (snippet: Snippet) => void; onSetOptionValue?: (snippet: Snippet, option: string, value: boolean) => void; optionValues?: OptionValues; schema?: GraphQLSchema; }; export default function CodeExporterWrapper({ query, serverUrl, variables, context, headers, snippets, snippet, codeMirrorTheme, onSelectSnippet, onSetOptionValue, optionValues, schema, }: WrapperProps): import('react').ReactPortal; export {};