import { Simulation } from '@cloud-copilot/iam-simulate';
import { IamCollectClient } from './collect/client.js';
/**
 * Get the account ID for a given resource ARN. Lookup index if necessary to find the account ID.
 *
 * @param collectClient the IAM collect client to use for retrieving the account ID
 * @param resourceArn the ARN of the resource to get the account ID for
 * @returns the account ID for the specified resource, or undefined if not found
 */
export declare function getAccountIdForResource(collectClient: IamCollectClient, resourceArn: string): Promise<string | undefined>;
/**
 * Get the resource control policies (RCPs) for a given resource ARN.
 *
 * @param collectClient the IAM collect client to use for retrieving RCPs
 * @param resourceArn the ARN of the resource to get RCPs for
 * @param resourceAccount the account ID of the resource, if known
 * @returns an array of resource control policies for the specified resource
 */
export declare function getRcpsForResource(collectClient: IamCollectClient, resourceArn: string, resourceAccount: string | undefined): Promise<Simulation['resourceControlPolicies']>;
/**
 * Get the resource policy for a resource, if any.
 *
 * @param collectClient the IAM collect client to use for retrieving the resource policy
 * @param resourceArn the ARN of the resource to get the policy for
 * @param resourceAccount the account ID of the resource, if known
 * @returns  the resource policy for the specified resource, or undefined if not found
 */
export declare function getResourcePolicyForResource(collectClient: IamCollectClient, resourceArn: string, resourceAccount: string | undefined): Promise<any | undefined>;
//# sourceMappingURL=resources.d.ts.map