import './global-types';
import './schema-builder';
import './field-builders';
import { BasePlugin, type PothosInterfaceTypeConfig, type PothosMutationTypeConfig, type PothosObjectTypeConfig, type PothosOutputFieldConfig, type PothosQueryTypeConfig, type PothosSubscriptionTypeConfig, type SchemaTypes } from '@pothos/core';
import type { GraphQLFieldResolver, GraphQLIsTypeOfFn, GraphQLTypeResolver } from 'graphql';
import RequestCache from './request-cache';
import type { ResolveStep } from './types';
export { RequestCache };
export * from './errors';
export * from './types';
declare const pluginName = "scopeAuth";
export default pluginName;
export declare class PothosScopeAuthPlugin<Types extends SchemaTypes> extends BasePlugin<Types> {
    wrapResolve(resolver: GraphQLFieldResolver<unknown, Types['Context'], object>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types['Context'], object>;
    wrapSubscribe(subscriber: GraphQLFieldResolver<unknown, Types['Context'], object>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types['Context'], object>;
    wrapResolveType(resolveType: GraphQLTypeResolver<unknown, Types['Context']>): GraphQLTypeResolver<unknown, Types['Context']>;
    wrapIsTypeOf(isTypeOf: GraphQLIsTypeOfFn<unknown, Types['Context']> | undefined, typeConfig: PothosObjectTypeConfig): GraphQLIsTypeOfFn<unknown, Types['Context']> | undefined;
    createStepsForType(typeConfig: PothosInterfaceTypeConfig | PothosMutationTypeConfig | PothosObjectTypeConfig | PothosQueryTypeConfig | PothosSubscriptionTypeConfig, { skipTypeScopes, skipInterfaceScopes, forField, }: {
        skipTypeScopes?: boolean;
        skipInterfaceScopes?: boolean;
        forField: boolean;
    }): ResolveStep<Types>[];
    createResolveSteps(fieldConfig: PothosOutputFieldConfig<Types>, typeConfig: PothosInterfaceTypeConfig | PothosMutationTypeConfig | PothosObjectTypeConfig | PothosQueryTypeConfig | PothosSubscriptionTypeConfig, resolver: GraphQLFieldResolver<unknown, Types['Context'], object>, shouldRunTypeScopes: boolean, authorizedOnSubscribe: boolean): ResolveStep<Types>[];
    createSubscribeSteps(fieldConfig: PothosOutputFieldConfig<Types>, typeConfig: PothosInterfaceTypeConfig | PothosMutationTypeConfig | PothosObjectTypeConfig | PothosQueryTypeConfig | PothosSubscriptionTypeConfig, subscriber: GraphQLFieldResolver<unknown, Types['Context'], object>): ResolveStep<Types>[];
}
//# sourceMappingURL=index.d.ts.map