import { ApolloClient, DocumentNode, NormalizedCacheObject, QueryOptions } from '@apollo/client';
import { GraphQLType, TypeOperation, TypeOperationConfiguration, TypesRegistryInterface, TypesRegistryConfiguration, TypeConfigurationResolved } from '../definitions';
/**
 * This is the registry of all the types is it used to get the types configuration and to resolve graphql operations for a given type.
 */
export declare class TypesRegistry implements TypesRegistryInterface {
    types: {
        [type: string]: TypeConfigurationResolved;
    };
    apollo?: ApolloClient<NormalizedCacheObject>;
    operations: {
        [name: string]: any;
    };
    configuration: TypeOperationConfiguration;
    constructor({ types, apollo, operations, configuration }: TypesRegistryConfiguration);
    getTypes(): string[];
    hasType(type: GraphQLType): boolean;
    getType(type: GraphQLType): TypeConfigurationResolved;
    queryList(type: GraphQLType, options?: Omit<QueryOptions, 'query'>): Promise<never[] | {
        items: any;
        data: any;
        errors?: readonly import("graphql").GraphQLError[] | undefined;
        error?: import("@apollo/client").ApolloError | undefined;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        partial?: boolean | undefined;
    }>;
    queryItem(type: GraphQLType, id: any, options?: Omit<QueryOptions, 'query'>): Promise<never[] | {
        item: any;
        data: any;
        errors?: readonly import("graphql").GraphQLError[] | undefined;
        error?: import("@apollo/client").ApolloError | undefined;
        loading: boolean;
        networkStatus: import("@apollo/client").NetworkStatus;
        partial?: boolean | undefined;
    }>;
    getTypeFragmentName(type: GraphQLType): string;
    getOperation(type: GraphQLType, operation: TypeOperation): DocumentNode;
    error(type: GraphQLType, message: string, throwException?: boolean): void;
}
export default TypesRegistry;
//# sourceMappingURL=TypesRegistry.d.ts.map