import { Optional, Model, Sequelize } from 'sequelize';
export declare enum IndexingDecisionBasis {
    RULES = "rules",
    NEVER = "never",
    ALWAYS = "always"
}
export declare const INDEXING_RULE_GLOBAL = "global";
export interface IndexingRuleAttributes {
    id: number;
    deployment: string;
    allocationAmount: string | null;
    parallelAllocations: number | null;
    maxAllocationPercentage: number | null;
    minSignal: string | null;
    maxSignal: string | null;
    minStake: string | null;
    minAverageQueryFees: string | null;
    custom: string | null;
    decisionBasis: IndexingDecisionBasis;
}
export interface IndexingRuleCreationAttributes extends Optional<IndexingRuleAttributes, 'id' | 'allocationAmount' | 'parallelAllocations' | 'maxAllocationPercentage' | 'minSignal' | 'maxSignal' | 'minStake' | 'minAverageQueryFees' | 'custom' | 'decisionBasis'> {
}
export declare class IndexingRule extends Model<IndexingRuleAttributes, IndexingRuleCreationAttributes> implements IndexingRuleAttributes {
    id: number;
    deployment: string;
    allocationAmount: string | null;
    parallelAllocations: number | null;
    maxAllocationPercentage: number | null;
    minSignal: string | null;
    maxSignal: string | null;
    minStake: string | null;
    minAverageQueryFees: string | null;
    custom: string | null;
    decisionBasis: IndexingDecisionBasis;
    createdAt: Date;
    updatedAt: Date;
    toGraphQL(): object;
    mergeToGraphQL(global: IndexingRule | null): object;
}
export interface IndexingRuleModels {
    IndexingRule: typeof IndexingRule;
}
export declare const defineIndexingRuleModels: (sequelize: Sequelize) => IndexingRuleModels;
