import { GraphQLClient } from 'graphql-request';
import { ListRuleInstancesResponse, ListRuleInstancesFilters, QuestionRuleInstance, InlineQuestionRuleInstance, CreateInlineQuestionRuleInstanceInput, UpdateInlineQuestionRuleInstanceInput, ListRuleEvaluationsResponse, ListRuleEvaluationsFilters, RuleEvaluation, RuleEvaluationDetailsResponse, RuleEvaluationDetailsInput } from '../../types/jupiterone.js';
export declare class RuleService {
    private client;
    constructor(client: GraphQLClient);
    /**
     * Construct rule URL based on subdomain
     */
    constructRuleUrl(ruleId: string, subdomain?: string): string;
    /**
     * List rule instances using the new GraphQL query
     */
    listRuleInstances(limit?: number, cursor?: string, filters?: ListRuleInstancesFilters): Promise<ListRuleInstancesResponse['listRuleInstances']>;
    /**
     * Get all rule instances by paginating through all pages
     */
    getAllRuleInstances(filters?: ListRuleInstancesFilters): Promise<QuestionRuleInstance[]>;
    /**
     * Create an inline question rule instance
     */
    createInlineQuestionRuleInstance(instance: CreateInlineQuestionRuleInstanceInput): Promise<InlineQuestionRuleInstance>;
    /**
     * Update an inline question rule instance
     */
    updateInlineQuestionRuleInstance(instance: UpdateInlineQuestionRuleInstanceInput): Promise<InlineQuestionRuleInstance>;
    /**
     * Trigger an alert rule on demand
     */
    evaluateRuleInstance(id: string): Promise<{
        id: string;
        __typename: string;
    }>;
    /**
     * List rule evaluations for a specific rule instance
     */
    listRuleEvaluations(filters: ListRuleEvaluationsFilters): Promise<ListRuleEvaluationsResponse['listCollectionResults']>;
    /**
     * Get all rule evaluations for a specific rule instance by paginating through all pages
     */
    getAllRuleEvaluations(filters: Omit<ListRuleEvaluationsFilters, 'cursor'>): Promise<RuleEvaluation[]>;
    /**
     * Get detailed information about a specific rule evaluation
     */
    getRuleEvaluationDetails(input: RuleEvaluationDetailsInput): Promise<RuleEvaluationDetailsResponse['ruleEvaluationDetails']>;
    /**
     * Get a download URL for raw data associated with a rule evaluation
     */
    getRawDataDownloadUrl(rawDataKey: string): Promise<string>;
    getRawDataResults(rawDataKey: string): Promise<any>;
}
//# sourceMappingURL=rule-service.d.ts.map