import { LIT_ABILITY_VALUES } from '@lit-protocol/constants';
import { ILitResource } from '@lit-protocol/types';
/**
 * Lit resrouce ability request builder for creating resource ability requests.
 *
 * @example
 * import { ResourceAbilityRequestBuilder } from '@lit-protocol/auth-helpers';

const builder = new ResourceAbilityRequestBuilder();

builder
  .addPKPSigningRequest('*') // PKP Signing
  .addLitActionExecutionRequest('*') // Lit Action Execution
  .addAccessControlConditionSigningRequest('*') // ACC Signing
  .addAccessControlConditionDecryptionRequest('*') // ACC Decryption
  .addRateLimitIncreaseAuthRequest('*'); // RLI Authentication

const requests = builder.build();

 */
export declare class ResourceAbilityRequestBuilder {
    private requests;
    /**
     * Adds a PKP signing request to the builder.
     * @param resourceId - The ID of the resource.
     * @returns The builder instance.
     */
    addPKPSigningRequest(resourceId: string): this;
    /**
     * Adds a Lit action execution request to the builder.
     * @param resourceId - The ID of the resource.
     * @returns The builder instance.
     */
    addLitActionExecutionRequest(resourceId: string): this;
    /**
     * Adds an access control condition signing request to the builder.
     * @param resourceId - The ID of the resource.
     * @returns The builder instance.
     */
    addAccessControlConditionSigningRequest(resourceId: string): this;
    /**
     * Adds an access control condition decryption request to the builder.
     * @param resourceId - The ID of the resource.
     * @returns The builder instance.
     */
    addAccessControlConditionDecryptionRequest(resourceId: string): this;
    /**
     * Adds a rate limit increase authentication request to the builder.
     * @param resourceId - The ID of the resource.
     * @returns The builder instance.
     */
    addRateLimitIncreaseAuthRequest(resourceId: string): this;
    /**
     * Builds the array of resource ability requests.
     * @returns The array of resource ability requests.
     */
    build(): Array<{
        resource: ILitResource;
        ability: LIT_ABILITY_VALUES;
    }>;
}
