interface ActionResourceType {
    name: string;
    required: boolean;
    conditionKeys: string[];
    dependentActions: string[];
}
interface Action {
    name: string;
    description: string;
    accessLevel: 'Read' | 'Write' | 'List' | 'Tagging';
    resourceTypes: ActionResourceType[];
    conditionKeys: string[];
    dependentActions: string[];
    isWildcardOnly: boolean;
}
/**
 * Get all actions for a service
 *
 * @param serviceKey the service key to get actions for, is case insensitive
 * @returns the actions for the service
 */
export declare function iamActionsForService(serviceKey: string): Promise<string[]>;
/**
 * Check if an action exists
 *
 * @param serviceKey the service key to check for the action, is case insensitive
 * @param actionKey the action key to check for, is case insensitive
 * @returns true if the action exists, false otherwise
 */
export declare function iamActionExists(serviceKey: string, actionKey: string): Promise<boolean>;
/**
 * Get the details for an action
 *
 * @param serviceKey the service key to get the action for, is case insensitive
 * @param actionKey the action key to get the details for, is case insensitive
 * @throws error if the service or action does not exist
 * @returns the details for the action
 */
export declare function iamActionDetails(serviceKey: string, actionKey: string): Promise<Action>;
export {};
//# sourceMappingURL=actions.d.ts.map