import { Model, Optional, Sequelize } from 'sequelize'; import { SubgraphIdentifierType } from '../../subgraphs'; export declare enum IndexingDecisionBasis { RULES = "rules", NEVER = "never", ALWAYS = "always", OFFCHAIN = "offchain" } export declare const INDEXING_RULE_GLOBAL = "global"; export interface IndexingRuleAttributes { id: number; identifier: string; identifierType: SubgraphIdentifierType; allocationAmount: string | null; allocationLifetime: number | null; autoRenewal: boolean; parallelAllocations: number | null; maxAllocationPercentage: number | null; minSignal: string | null; maxSignal: string | null; minStake: string | null; minAverageQueryFees: string | null; custom: string | null; decisionBasis: IndexingDecisionBasis; requireSupported: boolean; safety: boolean; protocolNetwork: string; } export interface IndexingRuleIdentifier { identifier: string; protocolNetwork: string; } export interface IndexingRuleCreationAttributes extends Optional { } export declare class IndexingRule extends Model implements IndexingRuleAttributes { id: number; identifier: string; identifierType: SubgraphIdentifierType; allocationAmount: string | null; allocationLifetime: number | null; autoRenewal: boolean; parallelAllocations: number | null; maxAllocationPercentage: number | null; minSignal: string | null; maxSignal: string | null; minStake: string | null; minAverageQueryFees: string | null; custom: string | null; decisionBasis: IndexingDecisionBasis; requireSupported: boolean; safety: boolean; protocolNetwork: string; createdAt: Date; updatedAt: Date; toGraphQL(): object; mergeGlobal(global: IndexingRule | null): IndexingRule; mergeToGraphQL(global: IndexingRule | null): object; } export interface IndexingRuleModels { IndexingRule: typeof IndexingRule; } export declare const defineIndexingRuleModels: (sequelize: Sequelize) => IndexingRuleModels;