import type { Plugin } from "graphile-build";
interface CycleRelation {
    localAttributes: ReadonlyArray<string>;
    remoteAttributes: ReadonlyArray<string>;
}
interface CycleFieldEdge {
    coordinate: string;
    targetTypeName: string;
    relation?: CycleRelation;
}
type UniqueAttributeGroup = ReadonlyArray<string>;
declare module "graphile-build" {
    interface Build {
        pgCycleEdgesByType: Map<string, Array<CycleFieldEdge>>;
        pgCycleUniqueAttributeGroupsByType: Map<string, Array<UniqueAttributeGroup>>;
    }
    interface Options {
        maxPgCycleDepth?: number;
    }
}
declare const PgCyclesPlugin: Plugin;
export default PgCyclesPlugin;
