import type { Account, Address, Chain, Client, Transport } from "viem";
import type { UserOperation } from "viem/account-abstraction";
import type { PimlicoRpcSchema } from "../../types/pimlico.js";
export type ValidateSponsorshipPoliciesParameters = {
    userOperation: UserOperation;
    entryPointAddress: Address;
    sponsorshipPolicyIds: string[];
};
export type ValidateSponsorshipPolicies = {
    sponsorshipPolicyId: string;
    data: {
        name: string | null;
        author: string | null;
        icon: string | null;
        description: string | null;
    };
};
/**
 * Returns valid sponsorship policies for a userOperation from the list of ids passed
 * - Docs: https://docs.pimlico.io/permissionless/reference/pimlico-paymaster-actions/ValidateSponsorshipPolicies
 *
 * @param client {@link PimlicoBundlerClient} that you created using viem's createClient whose transport url is pointing to the Pimlico's bundler.
 * @param args {@link ValidateSponsorshipPoliciesParameters} UserOperation you want to sponsor & entryPoint.
 * @returns valid sponsorship policies, see {@link ValidateSponsorshipPolicies}
 *
 * @example
 * import { createClient } from "viem"
 * import { validateSponsorshipPolicies } from "permissionless/actions/pimlico"
 *
 * const bundlerClient = createClient({
 *   chain: goerli,
 *   transport: http("https://api.pimlico.io/v2/goerli/rpc?apikey=YOUR_API_KEY_HERE")
 * })
 *
 * await validateSponsorshipPolicies(bundlerClient, {
 *   userOperation: userOperationWithDummySignature,
 *   entryPoint: entryPoint,
 *   sponsorshipPolicyIds: ["sp_shiny_puma"]
 * })
 * Returns
 * [
 *   {
 *     sponsorshipPolicyId: "sp_shiny_puma",
 *     data: {
 *       name: "Shiny Puma",
 *       author: "Pimlico",
 *       icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4...",
 *       description: "This policy is for testing purposes only"
 *    }
 *   }
 * ]
 */
export declare const validateSponsorshipPolicies: (client: Client<Transport, Chain | undefined, Account | undefined, PimlicoRpcSchema>, args: ValidateSponsorshipPoliciesParameters) => Promise<ValidateSponsorshipPolicies[]>;
//# sourceMappingURL=validateSponsorshipPolicies.d.ts.map