import { GraphQLSchema, IntrospectionQuery } from 'graphql';
import { LaboratorySettingsActions, LaboratorySettingsState } from './settings';
export interface LaboratoryEndpointState {
    endpoint: string | null;
    schema: GraphQLSchema | null;
    introspection: IntrospectionQuery | null;
    defaultEndpoint: string | null;
}
export interface LaboratoryEndpointActions {
    setEndpoint: (endpoint: string) => void;
    fetchSchema: () => void;
    restoreDefaultEndpoint: () => void;
}
export declare const useEndpoint: (props: {
    defaultEndpoint?: string | null;
    onEndpointChange?: (endpoint: string | null) => void;
    defaultSchemaIntrospection?: IntrospectionQuery | null;
    settingsApi?: LaboratorySettingsState & LaboratorySettingsActions;
}) => LaboratoryEndpointState & LaboratoryEndpointActions;
