import { AccessControlConditions, AccsCOSMOSParams, AccsDefaultParams, AccsEVMParams, AccsOperatorParams, AccsParams, AccsSOLV2Params, ConditionItem, EvmContractConditions, JsonSigningResourceId, UnifiedAccessControlConditions } from '@lit-protocol/types';
/**
 *
 * Canonical Unified Access Control Condition Formatter
 *
 * @param { UnifiedAccessControlConditions | ConditionItem } cond
 * @returns { any[] | AccsOperatorParams | any }
 */
export declare const canonicalUnifiedAccessControlConditionFormatter: (cond: AccsParams | AccsOperatorParams | UnifiedAccessControlConditions) => AccsOperatorParams | any;
/**
*
* (SOLANA) Canonical Solana RPC Condition Formatter
*
* need to return in the exact format below:
* but make sure we don't include the optional fields:
 ---
  #[derive(Debug, Serialize, Deserialize, Clone)]
  #[serde(rename_all = "camelCase")]
  pub struct SolRpcCondition {
      pub method: String,
      pub params: Vec<serde_json::Value>,
      pub pda_params: Option<Vec<serde_json::Value>>,
      pub pda_interface: Option<SolPdaInterface>,
      pub chain: String,
      pub return_value_test: JsonReturnValueTestV2,
  }

  #[derive(Debug, Serialize, Deserialize, Clone)]
  #[serde(rename_all = "camelCase")]
  pub struct SolPdaInterface {
      pub offset: u64,
      pub fields: serde_json::Value,
  }
  ---
*
* @param { object } cond
* @param { boolean } requireV2Conditions
*
* @returns { any[] | AccsOperatorParams | AccsSOLV2Params | any }
*/
export declare const canonicalSolRpcConditionFormatter: (cond: ConditionItem, requireV2Conditions?: boolean) => any[] | AccsOperatorParams | ConditionItem | AccsSOLV2Params | any;
/**
*
* (DEFAULT) Canonical Access Control Condition Formatter
*
* need to return in the exact format below:
 ---
  pub struct JsonAccessControlCondition {
    pub contract_address: String,
    pub chain: String,
    pub standard_contract_type: String,
    pub method: String,
    pub parameters: Vec<String>,
    pub return_value_test: JsonReturnValueTest,
  }
  ---
*
* @param { AccsDefaultParams | AccsOperatorParams | AccessControlConditions } cond
*
* @returns { any[] | AccsOperatorParams | AccsDefaultParams | any }
*/
export declare const canonicalAccessControlConditionFormatter: (cond: AccsDefaultParams | AccsOperatorParams | AccessControlConditions) => any[] | AccsOperatorParams | AccsDefaultParams | any;
/**
*
* (EVM) Canonical EVM Contract Condition Formatter
*
*  need to return in the exact format below:
  ---
  pub struct JsonAccessControlCondition {
      pub contract_address: String,
      pub chain: String,
      pub standard_contract_type: String,
      pub method: String,
      pub parameters: Vec<String>,
      pub return_value_test: JsonReturnValueTest,
  }
  ---
*
* @param { AccsEVMParams | AccsOperatorParams | EvmContractConditions } cond
*
* @returns
*/
export declare const canonicalEVMContractConditionFormatter: (cond: AccsEVMParams | AccsOperatorParams | EvmContractConditions) => any[] | AccsOperatorParams | AccsEVMParams | any;
/**
*
* (COSMOS) Canonical Condition Formmater for Cosmos
*
* need to return in the exact format below:
 ---
  pub struct CosmosCondition {
      pub path: String,
      pub chain: String,
      pub return_value_test: JsonReturnValueTestV2,
  }
 ---
*
*
* @param { ConditionItem } cond
* @returns
*/
export declare const canonicalCosmosConditionFormatter: (cond: ConditionItem) => any[] | AccsOperatorParams | AccsCOSMOSParams | any;
/**
 *
 * Canonical ResourceId Formatter returning JSON signing resource id
 *
 * @param { JsonSigningResourceId } resId
 *
 * @returns { JsonSigningResourceId }
 *
 */
export declare const canonicalResourceIdFormatter: (resId: JsonSigningResourceId) => JsonSigningResourceId;
