import { DirectiveNode } from 'graphql';
import type { Directive } from '../../subgraph/state.js';
import { MapByGraph, TypeBuilder } from './common.js';
export declare function directiveBuilder(): TypeBuilder<Directive, DirectiveState>;
export type DirectiveState = {
    name: string;
    byGraph: MapByGraph<DirectiveStateInGraph>;
    locations: Set<string>;
    repeatable: boolean;
    args: Map<string, DirectiveArgState>;
};
type DirectiveStateInGraph = {
    locations: Set<string>;
    repeatable: boolean;
};
export type DirectiveArgState = {
    name: string;
    type: string;
    tags: Set<string>;
    inaccessible: boolean;
    defaultValue?: string;
    byGraph: MapByGraph<ArgStateInGraph>;
    ast: {
        directives: DirectiveNode[];
    };
};
type ArgStateInGraph = {
    type: string;
    defaultValue?: string;
};
export {};
//# sourceMappingURL=directive.d.ts.map