import { GraphQLClient } from 'graphql-request';
/**
 * Thrown when a deferred query is still running after the poll budget is exhausted. A distinct type
 * lets the widget pre-create validation gate treat a timeout as advisory (proceed) while a real
 * query error still blocks — without changing execute-j1ql-query's own timeout handling.
 */
export declare class J1qlQueryTimeoutError extends Error {
    constructor(seconds: number);
}
export declare class J1qlService {
    private client;
    private abortSignal?;
    constructor(client: GraphQLClient, abortSignal?: AbortSignal | undefined);
    /**
     * Construct query results URL based on subdomain
     */
    constructQueryUrl(query: string, subdomain?: string): string;
    /**
     * Execute a J1QL query
     */
    executeJ1qlQuery({ query, variables, cursor, scopeFilters, flags, maxPollAttempts, }: {
        query: string;
        variables?: Record<string, any>;
        cursor?: string;
        scopeFilters?: Record<string, any>[];
        flags?: Record<string, any>;
        maxPollAttempts?: number;
    }): Promise<any>;
    /**
     * List all entity types in the account
     */
    listEntityTypes(): Promise<any>;
}
//# sourceMappingURL=j1ql-service.d.ts.map