import * as axios from 'axios';
import { RawAxiosRequestConfig, AxiosInstance, AxiosPromise } from 'axios';

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
interface ConfigurationParameters {
    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
    username?: string;
    password?: string;
    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
    basePath?: string;
    serverIndex?: number;
    baseOptions?: any;
    formDataCtor?: new () => any;
}
declare class Configuration {
    /**
     * parameter for apiKey security
     * @param name security name
     * @memberof Configuration
     */
    apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
    /**
     * parameter for basic security
     *
     * @type {string}
     * @memberof Configuration
     */
    username?: string;
    /**
     * parameter for basic security
     *
     * @type {string}
     * @memberof Configuration
     */
    password?: string;
    /**
     * parameter for oauth2 security
     * @param name security name
     * @param scopes oauth2 scope
     * @memberof Configuration
     */
    accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
    /**
     * override base path
     *
     * @type {string}
     * @memberof Configuration
     */
    basePath?: string;
    /**
     * override server index
     *
     * @type {number}
     * @memberof Configuration
     */
    serverIndex?: number;
    /**
     * base options for axios calls
     *
     * @type {any}
     * @memberof Configuration
     */
    baseOptions?: any;
    /**
     * The FormData constructor that will be used to create multipart form data
     * requests. You can inject this here so that execution environments that
     * do not support the FormData class can still run the generated client.
     *
     * @type {new () => FormData}
     */
    formDataCtor?: new () => any;
    constructor(param?: ConfigurationParameters);
    /**
     * Check if the given MIME is a JSON MIME.
     * JSON MIME examples:
     *   application/json
     *   application/json; charset=UTF8
     *   APPLICATION/JSON
     *   application/vnd.company+json
     * @param mime - MIME (Multipurpose Internet Mail Extensions)
     * @return True if the given MIME is JSON, false otherwise.
     */
    isJsonMime(mime: string): boolean;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface RequestArgs
 */
interface RequestArgs {
    url: string;
    options: RawAxiosRequestConfig;
}
/**
 *
 * @export
 * @class BaseAPI
 */
declare class BaseAPI {
    protected basePath: string;
    protected axios: AxiosInstance;
    protected configuration: Configuration | undefined;
    constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ActivateContractFunctionRequest
 */
interface ActivateContractFunctionRequest {
    /**
     * Contract ID
     * @type {number}
     * @memberof ActivateContractFunctionRequest
     */
    'contractId': number;
    /**
     * Function signature
     * @type {string}
     * @memberof ActivateContractFunctionRequest
     */
    'formattedAbiFunction': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ContractActivatedFunctionInResponse
 */
interface ContractActivatedFunctionInResponse {
    /**
     * Contract Activated Function ID
     * @type {number}
     * @memberof ContractActivatedFunctionInResponse
     */
    'id': number;
    /**
     * Contract ID
     * @type {number}
     * @memberof ContractActivatedFunctionInResponse
     */
    'contractId': number;
    /**
     * Formatted AbiFunction. Please use formatAbi to format and parseAbi to parse
     * @type {string}
     * @memberof ContractActivatedFunctionInResponse
     */
    'formattedAbiFunction': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface ActivateContractFunctionResponse
 */
interface ActivateContractFunctionResponse {
    /**
     * Activated contract function information
     * @type {ContractActivatedFunctionInResponse}
     * @memberof ActivateContractFunctionResponse
     */
    'contractActivatedFunction': ContractActivatedFunctionInResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ContractInResponse
 */
interface ContractInResponse {
    /**
     * Contract ID
     * @type {number}
     * @memberof ContractInResponse
     */
    'id': number;
    /**
     * Project ID
     * @type {number}
     * @memberof ContractInResponse
     */
    'projectId': number;
    /**
     * Network ID
     * @type {number}
     * @memberof ContractInResponse
     */
    'networkId': number;
    /**
     * Contract address
     * @type {string}
     * @memberof ContractInResponse
     */
    'address': string;
    /**
     * Contract type
     * @type {string}
     * @memberof ContractInResponse
     */
    'type': string;
    /**
     * Formatted ABI by abitype using formatAbi. Can be parsed by viem using parseAbi.
     * @type {Array<string>}
     * @memberof ContractInResponse
     */
    'formattedAbi': Array<string>;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface CreateEventNotifierSubscriptionRequest
 */
interface CreateEventNotifierSubscriptionRequest {
    /**
     * Subscription name
     * @type {string}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'subscriptionName': string;
    /**
     * Network ID
     * @type {number}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'networkId': CreateEventNotifierSubscriptionRequestNetworkIdEnum;
    /**
     * Contract address
     * @type {string}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'address': string;
    /**
     * Event ABI definition (formatted with formatAbi function from abitype package)
     * @type {string}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'formattedAbiEvent': string;
    /**
     * Initial block number to start scanning from
     * @type {number}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'initialBlockNumber': number;
    /**
     * Scan interval in seconds
     * @type {number}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'scanInterval': number;
    /**
     * Webhook URL for notifications
     * @type {string}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'webhookURL'?: string;
    /**
     * Maximum number of webhook retry attempts
     * @type {number}
     * @memberof CreateEventNotifierSubscriptionRequest
     */
    'webhookMaxRetries'?: number;
}
declare const CreateEventNotifierSubscriptionRequestNetworkIdEnum: {
    readonly NUMBER_1: 1;
    readonly NUMBER_137: 137;
    readonly NUMBER_42161: 42161;
    readonly NUMBER_11155111: 11155111;
    readonly NUMBER_80002: 80002;
    readonly NUMBER_421614: 421614;
    readonly NUMBER_1337: 1337;
};
type CreateEventNotifierSubscriptionRequestNetworkIdEnum = typeof CreateEventNotifierSubscriptionRequestNetworkIdEnum[keyof typeof CreateEventNotifierSubscriptionRequestNetworkIdEnum];

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface EventNotifierSubscriptionInResponse
 */
interface EventNotifierSubscriptionInResponse {
    /**
     * Event Notifier Subscription ID
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'id': string;
    /**
     * Project ID
     * @type {number}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'projectId': number;
    /**
     * Subscription Name
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'subscriptionName': string;
    /**
     * Network ID
     * @type {object}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'networkId': object;
    /**
     * Contract Address
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'address': string;
    /**
     * Formatted ABI event by abitype using formatAbi. Can be parsed by viem using parseAbi.
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'formattedAbiEvent': string;
    /**
     * Scan Enabled
     * @type {boolean}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'scanEnabled': boolean;
    /**
     * Initial Block Number
     * @type {number}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'initialBlockNumber': number;
    /**
     * Scan Interval in seconds
     * @type {number}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'scanInterval': number;
    /**
     * Webhook Enabled
     * @type {boolean}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'webhookEnabled': boolean;
    /**
     * Webhook URL
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'webhookURL': string;
    /**
     * Webhook Max Retries
     * @type {number}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'webhookMaxRetries': number;
    /**
     * Webhook Secret
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'webhookSecret': string;
    /**
     * Scan Status
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'scanStatus': EventNotifierSubscriptionInResponseScanStatusEnum;
    /**
     * Last Scanned Block
     * @type {number}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'lastScannedBlock': number;
    /**
     * Last Scanned At
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'lastScannedAt': string;
    /**
     * Last Failed Message
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'lastScanFailureMessage': string;
    /**
     * Next Scan At
     * @type {string}
     * @memberof EventNotifierSubscriptionInResponse
     */
    'nextScanAt': string;
}
declare const EventNotifierSubscriptionInResponseScanStatusEnum: {
    readonly idle: "idle";
    readonly scanning: "scanning";
    readonly failed: "failed";
};
type EventNotifierSubscriptionInResponseScanStatusEnum = typeof EventNotifierSubscriptionInResponseScanStatusEnum[keyof typeof EventNotifierSubscriptionInResponseScanStatusEnum];

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface CreateEventNotifierSubscriptionResponse
 */
interface CreateEventNotifierSubscriptionResponse {
    /**
     * Created subscription information
     * @type {EventNotifierSubscriptionInResponse}
     * @memberof CreateEventNotifierSubscriptionResponse
     */
    'eventNotifierSubscription': EventNotifierSubscriptionInResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface DeactivateContractFunctionRequest
 */
interface DeactivateContractFunctionRequest {
    /**
     * Contract ID
     * @type {number}
     * @memberof DeactivateContractFunctionRequest
     */
    'contractId': number;
    /**
     * Function signature
     * @type {string}
     * @memberof DeactivateContractFunctionRequest
     */
    'formattedAbiFunction': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface DeactivateContractFunctionResponse
 */
interface DeactivateContractFunctionResponse {
    /**
     * Success message
     * @type {string}
     * @memberof DeactivateContractFunctionResponse
     */
    'message': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface EventNotifierRecordInResponse
 */
interface EventNotifierRecordInResponse {
    /**
     * Event Notifier Record ID
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'id': string;
    /**
     * Event Notifier Subscription ID
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'eventNotifierSubscriptionId': string;
    /**
     * Record Status
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'status': EventNotifierRecordInResponseStatusEnum;
    /**
     * Status Changed At
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'statusChangedAt': string;
    /**
     * Block Timestamp
     * @type {number}
     * @memberof EventNotifierRecordInResponse
     */
    'blockTimestamp': number;
    /**
     * Transaction Hash
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'transactionHash': string;
    /**
     * Block Number
     * @type {number}
     * @memberof EventNotifierRecordInResponse
     */
    'blockNumber': number;
    /**
     * Transaction Index
     * @type {number}
     * @memberof EventNotifierRecordInResponse
     */
    'transactionIndex': number;
    /**
     * Log Index
     * @type {number}
     * @memberof EventNotifierRecordInResponse
     */
    'logIndex': number;
    /**
     * Decoded Log Data
     * @type {object}
     * @memberof EventNotifierRecordInResponse
     */
    'decodedLog': object;
    /**
     * Last Notification Failed At
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'lastNotificationFailedAt'?: string;
    /**
     * Last Notification Failure Message
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'lastNotificationFailureMessage'?: string;
    /**
     * Notification Failure Count
     * @type {number}
     * @memberof EventNotifierRecordInResponse
     */
    'notificationFailureCount': number;
    /**
     * Created At
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'createdAt': string;
    /**
     * Updated At
     * @type {string}
     * @memberof EventNotifierRecordInResponse
     */
    'updatedAt': string;
}
declare const EventNotifierRecordInResponseStatusEnum: {
    readonly scanned: "scanned";
    readonly notified: "notified";
    readonly failed: "failed";
};
type EventNotifierRecordInResponseStatusEnum = typeof EventNotifierRecordInResponseStatusEnum[keyof typeof EventNotifierRecordInResponseStatusEnum];

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ExecuteTransactionRequest
 */
interface ExecuteTransactionRequest {
    /**
     * Contract activated function ID
     * @type {number}
     * @memberof ExecuteTransactionRequest
     */
    'contractActivatedFunctionId': number;
    /**
     * Function arguments
     * @type {Array<string>}
     * @memberof ExecuteTransactionRequest
     */
    'functionArgs': Array<string>;
    /**
     * Idempotency key to prevent duplicate transactions
     * @type {string}
     * @memberof ExecuteTransactionRequest
     */
    'idempotencyKey': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface TransactionV3InResponse
 */
interface TransactionV3InResponse {
    /**
     * Transaction ID
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'id': string;
    /**
     * Project ID
     * @type {number}
     * @memberof TransactionV3InResponse
     */
    'projectId': number;
    /**
     * Contract activated function ID
     * @type {number}
     * @memberof TransactionV3InResponse
     */
    'contractActivatedFunctionId': number;
    /**
     * System wallet ID used for signing
     * @type {number}
     * @memberof TransactionV3InResponse
     */
    'mSystemWalletId': number;
    /**
     * Network ID where transaction was executed
     * @type {number}
     * @memberof TransactionV3InResponse
     */
    'networkId': number;
    /**
     * Function arguments provided
     * @type {Array<string>}
     * @memberof TransactionV3InResponse
     */
    'functionArgs': Array<string>;
    /**
     * Current transaction status
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'status': TransactionV3InResponseStatusEnum;
    /**
     * Blockchain transaction hash (available after broadcast)
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'transactionHash'?: string;
    /**
     * Transaction nonce
     * @type {number}
     * @memberof TransactionV3InResponse
     */
    'nonce'?: number;
    /**
     * Gas price used (in wei)
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'gasPrice'?: string;
    /**
     * Gas limit set for transaction
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'gasLimit'?: string;
    /**
     * Actual gas used (available after confirmation)
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'gasUsed'?: string;
    /**
     * Block number (available after confirmation)
     * @type {number}
     * @memberof TransactionV3InResponse
     */
    'blockNumber'?: number;
    /**
     * Error message (if transaction failed)
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'errorMessage'?: string;
    /**
     * Idempotency key for duplicate prevention
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'idempotencyKey': string;
    /**
     * Transaction creation timestamp
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'createdAt': string;
    /**
     * Transaction last update timestamp
     * @type {string}
     * @memberof TransactionV3InResponse
     */
    'updatedAt': string;
}
declare const TransactionV3InResponseStatusEnum: {
    readonly created: "created";
    readonly broadcasted: "broadcasted";
    readonly succeeded: "succeeded";
    readonly failed: "failed";
};
type TransactionV3InResponseStatusEnum = typeof TransactionV3InResponseStatusEnum[keyof typeof TransactionV3InResponseStatusEnum];

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface ExecuteTransactionResponse
 */
interface ExecuteTransactionResponse {
    /**
     * Created transaction information
     * @type {TransactionV3InResponse}
     * @memberof ExecuteTransactionResponse
     */
    'transaction': TransactionV3InResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetContractActivatedFunctionsRequest
 */
interface GetContractActivatedFunctionsRequest {
    /**
     * Contract ID
     * @type {number}
     * @memberof GetContractActivatedFunctionsRequest
     */
    'contractId': number;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetContractActivatedFunctionsResponse
 */
interface GetContractActivatedFunctionsResponse {
    /**
     * List of activated contract functions
     * @type {Array<ContractActivatedFunctionInResponse>}
     * @memberof GetContractActivatedFunctionsResponse
     */
    'contractActivatedFunctions': Array<ContractActivatedFunctionInResponse>;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetEventNotifierRecordsRequest
 */
interface GetEventNotifierRecordsRequest {
    /**
     * Event Notifier Subscription ID
     * @type {string}
     * @memberof GetEventNotifierRecordsRequest
     */
    'subscriptionId': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetEventNotifierRecordsResponse
 */
interface GetEventNotifierRecordsResponse {
    /**
     * List of event notifier records
     * @type {Array<EventNotifierRecordInResponse>}
     * @memberof GetEventNotifierRecordsResponse
     */
    'eventNotifierRecords': Array<EventNotifierRecordInResponse>;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetEventNotifierSubscriptionsResponse
 */
interface GetEventNotifierSubscriptionsResponse {
    /**
     * List of event notifier subscriptions
     * @type {Array<EventNotifierSubscriptionInResponse>}
     * @memberof GetEventNotifierSubscriptionsResponse
     */
    'eventNotifierSubscriptions': Array<EventNotifierSubscriptionInResponse>;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface MSystemWalletInResponse
 */
interface MSystemWalletInResponse {
    /**
     * MSystemWallet ID
     * @type {number}
     * @memberof MSystemWalletInResponse
     */
    'id': number;
    /**
     * Ethereum address
     * @type {string}
     * @memberof MSystemWalletInResponse
     */
    'address': string;
    /**
     * Wallet type
     * @type {string}
     * @memberof MSystemWalletInResponse
     */
    'type': MSystemWalletInResponseTypeEnum;
    /**
     * Wallet network type
     * @type {string}
     * @memberof MSystemWalletInResponse
     */
    'networkType': MSystemWalletInResponseNetworkTypeEnum;
    /**
     * Wallet owner type
     * @type {string}
     * @memberof MSystemWalletInResponse
     */
    'ownerType': MSystemWalletInResponseOwnerTypeEnum;
}
declare const MSystemWalletInResponseTypeEnum: {
    readonly fireblocks: "fireblocks";
    readonly from_mnemonic: "from-mnemonic";
};
type MSystemWalletInResponseTypeEnum = typeof MSystemWalletInResponseTypeEnum[keyof typeof MSystemWalletInResponseTypeEnum];
declare const MSystemWalletInResponseNetworkTypeEnum: {
    readonly mainnet: "mainnet";
    readonly testnet: "testnet";
};
type MSystemWalletInResponseNetworkTypeEnum = typeof MSystemWalletInResponseNetworkTypeEnum[keyof typeof MSystemWalletInResponseNetworkTypeEnum];
declare const MSystemWalletInResponseOwnerTypeEnum: {
    readonly shared: "shared";
    readonly dedicated: "dedicated";
};
type MSystemWalletInResponseOwnerTypeEnum = typeof MSystemWalletInResponseOwnerTypeEnum[keyof typeof MSystemWalletInResponseOwnerTypeEnum];

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ProjectInResponse
 */
interface ProjectInResponse {
    /**
     * Project ID
     * @type {number}
     * @memberof ProjectInResponse
     */
    'id': number;
    /**
     * Project name
     * @type {string}
     * @memberof ProjectInResponse
     */
    'projectName': string;
    /**
     * API key
     * @type {string}
     * @memberof ProjectInResponse
     */
    'apiKey': string;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetProjectDetailResponseData
 */
interface GetProjectDetailResponseData {
    /**
     * Project information
     * @type {ProjectInResponse}
     * @memberof GetProjectDetailResponseData
     */
    'project': ProjectInResponse;
    /**
     * Mainnet system wallet information
     * @type {MSystemWalletInResponse}
     * @memberof GetProjectDetailResponseData
     */
    'mSystemWalletMainnet': MSystemWalletInResponse;
    /**
     * Testnet system wallet information
     * @type {MSystemWalletInResponse}
     * @memberof GetProjectDetailResponseData
     */
    'mSystemWalletTestnet': MSystemWalletInResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetProjectDetailResponse
 */
interface GetProjectDetailResponse {
    /**
     * Project information
     * @type {GetProjectDetailResponseData}
     * @memberof GetProjectDetailResponse
     */
    'data': GetProjectDetailResponseData;
    /**
     * Additional metadata
     * @type {object}
     * @memberof GetProjectDetailResponse
     */
    'meta': object;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetProjectsResponseData
 */
interface GetProjectsResponseData {
    /**
     * Array of projects
     * @type {Array<ProjectInResponse>}
     * @memberof GetProjectsResponseData
     */
    'projects': Array<ProjectInResponse>;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetProjectsResponse
 */
interface GetProjectsResponse {
    /**
     * Project information
     * @type {GetProjectsResponseData}
     * @memberof GetProjectsResponse
     */
    'data': GetProjectsResponseData;
    /**
     * Additional metadata
     * @type {object}
     * @memberof GetProjectsResponse
     */
    'meta': object;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetTransactionResponse
 */
interface GetTransactionResponse {
    /**
     * Transaction information
     * @type {TransactionV3InResponse}
     * @memberof GetTransactionResponse
     */
    'transaction': TransactionV3InResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetTransactionsResponseData
 */
interface GetTransactionsResponseData {
    /**
     * List of transactions
     * @type {Array<TransactionV3InResponse>}
     * @memberof GetTransactionsResponseData
     */
    'transactions': Array<TransactionV3InResponse>;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface PaginationMetadata
 */
interface PaginationMetadata {
    /**
     * Current page number
     * @type {number}
     * @memberof PaginationMetadata
     */
    'pageNumber': number;
    /**
     * Number of items per page
     * @type {number}
     * @memberof PaginationMetadata
     */
    'perPage': number;
    /**
     * Total number of pages
     * @type {number}
     * @memberof PaginationMetadata
     */
    'totalPage': number;
    /**
     * Total number of items
     * @type {number}
     * @memberof PaginationMetadata
     */
    'totalItems': number;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetTransactionsResponse
 */
interface GetTransactionsResponse {
    /**
     * Get transactions response
     * @type {GetTransactionsResponseData}
     * @memberof GetTransactionsResponse
     */
    'data': GetTransactionsResponseData;
    /**
     * Pagination metadata
     * @type {PaginationMetadata}
     * @memberof GetTransactionsResponse
     */
    'meta': PaginationMetadata;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ImportContractRequest
 */
interface ImportContractRequest {
    /**
     * Network ID
     * @type {number}
     * @memberof ImportContractRequest
     */
    'networkId': ImportContractRequestNetworkIdEnum;
    /**
     * Contract address
     * @type {string}
     * @memberof ImportContractRequest
     */
    'address': string;
    /**
     * Formatted ABI by abitype using formatAbi. Can be parsed by viem using parseAbi.
     * @type {Array<string>}
     * @memberof ImportContractRequest
     */
    'formattedAbi': Array<string>;
}
declare const ImportContractRequestNetworkIdEnum: {
    readonly NUMBER_1: 1;
    readonly NUMBER_137: 137;
    readonly NUMBER_42161: 42161;
    readonly NUMBER_11155111: 11155111;
    readonly NUMBER_80002: 80002;
    readonly NUMBER_421614: 421614;
    readonly NUMBER_1337: 1337;
};
type ImportContractRequestNetworkIdEnum = typeof ImportContractRequestNetworkIdEnum[keyof typeof ImportContractRequestNetworkIdEnum];

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface ImportContractResponse
 */
interface ImportContractResponse {
    /**
     * Imported contract information
     * @type {ContractInResponse}
     * @memberof ImportContractResponse
     */
    'contract': ContractInResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ResendFailedWebhookRequest
 */
interface ResendFailedWebhookRequest {
    /**
     * Event Notifier Subscription ID
     * @type {string}
     * @memberof ResendFailedWebhookRequest
     */
    'subscriptionId': string;
    /**
     * Force resend webhook even if webhook is disabled or max retries has been reached
     * @type {boolean}
     * @memberof ResendFailedWebhookRequest
     */
    'force'?: boolean;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface ResendFailedWebhookResponse
 */
interface ResendFailedWebhookResponse {
    /**
     * Resent record
     * @type {EventNotifierRecordInResponse}
     * @memberof ResendFailedWebhookResponse
     */
    'record': EventNotifierRecordInResponse;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface UpdateEventNotifierSubscriptionWebhookRequest
 */
interface UpdateEventNotifierSubscriptionWebhookRequest {
    /**
     * Subscription ID
     * @type {string}
     * @memberof UpdateEventNotifierSubscriptionWebhookRequest
     */
    'id': string;
    /**
     * Enable or disable webhook
     * @type {boolean}
     * @memberof UpdateEventNotifierSubscriptionWebhookRequest
     */
    'webhookEnabled'?: boolean;
    /**
     * Webhook URL for notifications
     * @type {string}
     * @memberof UpdateEventNotifierSubscriptionWebhookRequest
     */
    'webhookURL'?: string;
    /**
     * Maximum number of webhook retry attempts
     * @type {number}
     * @memberof UpdateEventNotifierSubscriptionWebhookRequest
     */
    'webhookMaxRetries'?: number;
}

/**
 * MOUNTAIN Public API
 * MOUNTAIN Public API for Developers
 *
 * The version of the OpenAPI document: 3.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface UpdateEventNotifierSubscriptionWebhookResponse
 */
interface UpdateEventNotifierSubscriptionWebhookResponse {
    /**
     * Updated subscription information
     * @type {EventNotifierSubscriptionInResponse}
     * @memberof UpdateEventNotifierSubscriptionWebhookResponse
     */
    'eventNotifierSubscription': EventNotifierSubscriptionInResponse;
}

/**
 * ContractApi - axios parameter creator
 * @export
 */
declare const ContractApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {ActivateContractFunctionRequest} activateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    activateContractFunction: (activateContractFunctionRequest: ActivateContractFunctionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {DeactivateContractFunctionRequest} deactivateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deactivateContractFunction: (deactivateContractFunctionRequest: DeactivateContractFunctionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {GetContractActivatedFunctionsRequest} getContractActivatedFunctionsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractActivatedFunctions: (getContractActivatedFunctionsRequest: GetContractActivatedFunctionsRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {ImportContractRequest} importContractRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importContract: (importContractRequest: ImportContractRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ContractApi - functional programming interface
 * @export
 */
declare const ContractApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {ActivateContractFunctionRequest} activateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    activateContractFunction(activateContractFunctionRequest: ActivateContractFunctionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ActivateContractFunctionResponse>>;
    /**
     *
     * @summary
     * @param {DeactivateContractFunctionRequest} deactivateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deactivateContractFunction(deactivateContractFunctionRequest: DeactivateContractFunctionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeactivateContractFunctionResponse>>;
    /**
     *
     * @summary
     * @param {GetContractActivatedFunctionsRequest} getContractActivatedFunctionsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractActivatedFunctions(getContractActivatedFunctionsRequest: GetContractActivatedFunctionsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetContractActivatedFunctionsResponse>>;
    /**
     *
     * @summary
     * @param {ImportContractRequest} importContractRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importContract(importContractRequest: ImportContractRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ImportContractResponse>>;
};
/**
 * ContractApi - factory interface
 * @export
 */
declare const ContractApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary
     * @param {ActivateContractFunctionRequest} activateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    activateContractFunction(activateContractFunctionRequest: ActivateContractFunctionRequest, options?: any): AxiosPromise<ActivateContractFunctionResponse>;
    /**
     *
     * @summary
     * @param {DeactivateContractFunctionRequest} deactivateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deactivateContractFunction(deactivateContractFunctionRequest: DeactivateContractFunctionRequest, options?: any): AxiosPromise<DeactivateContractFunctionResponse>;
    /**
     *
     * @summary
     * @param {GetContractActivatedFunctionsRequest} getContractActivatedFunctionsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getContractActivatedFunctions(getContractActivatedFunctionsRequest: GetContractActivatedFunctionsRequest, options?: any): AxiosPromise<GetContractActivatedFunctionsResponse>;
    /**
     *
     * @summary
     * @param {ImportContractRequest} importContractRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    importContract(importContractRequest: ImportContractRequest, options?: any): AxiosPromise<ImportContractResponse>;
};
/**
 * ContractApi - object-oriented interface
 * @export
 * @class ContractApi
 * @extends {BaseAPI}
 */
declare class ContractApi extends BaseAPI {
    /**
     *
     * @summary
     * @param {ActivateContractFunctionRequest} activateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractApi
     */
    activateContractFunction(activateContractFunctionRequest: ActivateContractFunctionRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<ActivateContractFunctionResponse, any>>;
    /**
     *
     * @summary
     * @param {DeactivateContractFunctionRequest} deactivateContractFunctionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractApi
     */
    deactivateContractFunction(deactivateContractFunctionRequest: DeactivateContractFunctionRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<DeactivateContractFunctionResponse, any>>;
    /**
     *
     * @summary
     * @param {GetContractActivatedFunctionsRequest} getContractActivatedFunctionsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractApi
     */
    getContractActivatedFunctions(getContractActivatedFunctionsRequest: GetContractActivatedFunctionsRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetContractActivatedFunctionsResponse, any>>;
    /**
     *
     * @summary
     * @param {ImportContractRequest} importContractRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ContractApi
     */
    importContract(importContractRequest: ImportContractRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<ImportContractResponse, any>>;
}

/**
 * EventNotifierApi - axios parameter creator
 * @export
 */
declare const EventNotifierApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {CreateEventNotifierSubscriptionRequest} createEventNotifierSubscriptionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createEventNotifierSubscription: (createEventNotifierSubscriptionRequest: CreateEventNotifierSubscriptionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {GetEventNotifierRecordsRequest} getEventNotifierRecordsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventNotifierRecords: (getEventNotifierRecordsRequest: GetEventNotifierRecordsRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventNotifierSubscriptions: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {ResendFailedWebhookRequest} resendFailedWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resendFailedWebhook: (resendFailedWebhookRequest: ResendFailedWebhookRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {UpdateEventNotifierSubscriptionWebhookRequest} updateEventNotifierSubscriptionWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateEventNotifierSubscriptionWebhook: (updateEventNotifierSubscriptionWebhookRequest: UpdateEventNotifierSubscriptionWebhookRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * EventNotifierApi - functional programming interface
 * @export
 */
declare const EventNotifierApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {CreateEventNotifierSubscriptionRequest} createEventNotifierSubscriptionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createEventNotifierSubscription(createEventNotifierSubscriptionRequest: CreateEventNotifierSubscriptionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateEventNotifierSubscriptionResponse>>;
    /**
     *
     * @summary
     * @param {GetEventNotifierRecordsRequest} getEventNotifierRecordsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventNotifierRecords(getEventNotifierRecordsRequest: GetEventNotifierRecordsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetEventNotifierRecordsResponse>>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventNotifierSubscriptions(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetEventNotifierSubscriptionsResponse>>;
    /**
     *
     * @summary
     * @param {ResendFailedWebhookRequest} resendFailedWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resendFailedWebhook(resendFailedWebhookRequest: ResendFailedWebhookRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResendFailedWebhookResponse>>;
    /**
     *
     * @summary
     * @param {UpdateEventNotifierSubscriptionWebhookRequest} updateEventNotifierSubscriptionWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateEventNotifierSubscriptionWebhook(updateEventNotifierSubscriptionWebhookRequest: UpdateEventNotifierSubscriptionWebhookRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateEventNotifierSubscriptionWebhookResponse>>;
};
/**
 * EventNotifierApi - factory interface
 * @export
 */
declare const EventNotifierApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary
     * @param {CreateEventNotifierSubscriptionRequest} createEventNotifierSubscriptionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createEventNotifierSubscription(createEventNotifierSubscriptionRequest: CreateEventNotifierSubscriptionRequest, options?: any): AxiosPromise<CreateEventNotifierSubscriptionResponse>;
    /**
     *
     * @summary
     * @param {GetEventNotifierRecordsRequest} getEventNotifierRecordsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventNotifierRecords(getEventNotifierRecordsRequest: GetEventNotifierRecordsRequest, options?: any): AxiosPromise<GetEventNotifierRecordsResponse>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getEventNotifierSubscriptions(options?: any): AxiosPromise<GetEventNotifierSubscriptionsResponse>;
    /**
     *
     * @summary
     * @param {ResendFailedWebhookRequest} resendFailedWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resendFailedWebhook(resendFailedWebhookRequest: ResendFailedWebhookRequest, options?: any): AxiosPromise<ResendFailedWebhookResponse>;
    /**
     *
     * @summary
     * @param {UpdateEventNotifierSubscriptionWebhookRequest} updateEventNotifierSubscriptionWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateEventNotifierSubscriptionWebhook(updateEventNotifierSubscriptionWebhookRequest: UpdateEventNotifierSubscriptionWebhookRequest, options?: any): AxiosPromise<UpdateEventNotifierSubscriptionWebhookResponse>;
};
/**
 * EventNotifierApi - object-oriented interface
 * @export
 * @class EventNotifierApi
 * @extends {BaseAPI}
 */
declare class EventNotifierApi extends BaseAPI {
    /**
     *
     * @summary
     * @param {CreateEventNotifierSubscriptionRequest} createEventNotifierSubscriptionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventNotifierApi
     */
    createEventNotifierSubscription(createEventNotifierSubscriptionRequest: CreateEventNotifierSubscriptionRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<CreateEventNotifierSubscriptionResponse, any>>;
    /**
     *
     * @summary
     * @param {GetEventNotifierRecordsRequest} getEventNotifierRecordsRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventNotifierApi
     */
    getEventNotifierRecords(getEventNotifierRecordsRequest: GetEventNotifierRecordsRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetEventNotifierRecordsResponse, any>>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventNotifierApi
     */
    getEventNotifierSubscriptions(options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetEventNotifierSubscriptionsResponse, any>>;
    /**
     *
     * @summary
     * @param {ResendFailedWebhookRequest} resendFailedWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventNotifierApi
     */
    resendFailedWebhook(resendFailedWebhookRequest: ResendFailedWebhookRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<ResendFailedWebhookResponse, any>>;
    /**
     *
     * @summary
     * @param {UpdateEventNotifierSubscriptionWebhookRequest} updateEventNotifierSubscriptionWebhookRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof EventNotifierApi
     */
    updateEventNotifierSubscriptionWebhook(updateEventNotifierSubscriptionWebhookRequest: UpdateEventNotifierSubscriptionWebhookRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<UpdateEventNotifierSubscriptionWebhookResponse, any>>;
}

/**
 * ProjectApi - axios parameter creator
 * @export
 */
declare const ProjectApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getProjectDetail: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getProjects: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * ProjectApi - functional programming interface
 * @export
 */
declare const ProjectApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getProjectDetail(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetProjectDetailResponse>>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getProjects(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetProjectsResponse>>;
};
/**
 * ProjectApi - factory interface
 * @export
 */
declare const ProjectApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getProjectDetail(options?: any): AxiosPromise<GetProjectDetailResponse>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getProjects(options?: any): AxiosPromise<GetProjectsResponse>;
};
/**
 * ProjectApi - object-oriented interface
 * @export
 * @class ProjectApi
 * @extends {BaseAPI}
 */
declare class ProjectApi extends BaseAPI {
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProjectApi
     */
    getProjectDetail(options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetProjectDetailResponse, any>>;
    /**
     *
     * @summary
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof ProjectApi
     */
    getProjects(options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetProjectsResponse, any>>;
}

/**
 * TransactionApi - axios parameter creator
 * @export
 */
declare const TransactionApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {ExecuteTransactionRequest} executeTransactionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    executeTransaction: (executeTransactionRequest: ExecuteTransactionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {string} transactionId Transaction ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTransaction: (transactionId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary
     * @param {number} [page] Page number
     * @param {number} [perPage] Number of items per page
     * @param {GetTransactionsStatusEnum} [status] Filter by transaction status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTransactions: (page?: number, perPage?: number, status?: GetTransactionsStatusEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * TransactionApi - functional programming interface
 * @export
 */
declare const TransactionApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary
     * @param {ExecuteTransactionRequest} executeTransactionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    executeTransaction(executeTransactionRequest: ExecuteTransactionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ExecuteTransactionResponse>>;
    /**
     *
     * @summary
     * @param {string} transactionId Transaction ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTransaction(transactionId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTransactionResponse>>;
    /**
     *
     * @summary
     * @param {number} [page] Page number
     * @param {number} [perPage] Number of items per page
     * @param {GetTransactionsStatusEnum} [status] Filter by transaction status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTransactions(page?: number, perPage?: number, status?: GetTransactionsStatusEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTransactionsResponse>>;
};
/**
 * TransactionApi - factory interface
 * @export
 */
declare const TransactionApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary
     * @param {ExecuteTransactionRequest} executeTransactionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    executeTransaction(executeTransactionRequest: ExecuteTransactionRequest, options?: any): AxiosPromise<ExecuteTransactionResponse>;
    /**
     *
     * @summary
     * @param {string} transactionId Transaction ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTransaction(transactionId: string, options?: any): AxiosPromise<GetTransactionResponse>;
    /**
     *
     * @summary
     * @param {number} [page] Page number
     * @param {number} [perPage] Number of items per page
     * @param {GetTransactionsStatusEnum} [status] Filter by transaction status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getTransactions(page?: number, perPage?: number, status?: GetTransactionsStatusEnum, options?: any): AxiosPromise<GetTransactionsResponse>;
};
/**
 * TransactionApi - object-oriented interface
 * @export
 * @class TransactionApi
 * @extends {BaseAPI}
 */
declare class TransactionApi extends BaseAPI {
    /**
     *
     * @summary
     * @param {ExecuteTransactionRequest} executeTransactionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TransactionApi
     */
    executeTransaction(executeTransactionRequest: ExecuteTransactionRequest, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<ExecuteTransactionResponse, any>>;
    /**
     *
     * @summary
     * @param {string} transactionId Transaction ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TransactionApi
     */
    getTransaction(transactionId: string, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetTransactionResponse, any>>;
    /**
     *
     * @summary
     * @param {number} [page] Page number
     * @param {number} [perPage] Number of items per page
     * @param {GetTransactionsStatusEnum} [status] Filter by transaction status
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TransactionApi
     */
    getTransactions(page?: number, perPage?: number, status?: GetTransactionsStatusEnum, options?: RawAxiosRequestConfig): Promise<axios.AxiosResponse<GetTransactionsResponse, any>>;
}
/**
 * @export
 */
declare const GetTransactionsStatusEnum: {
    readonly created: "created";
    readonly processing: "processing";
    readonly broadcasted: "broadcasted";
    readonly succeeded: "succeeded";
    readonly broadcast_failed: "broadcast-failed";
    readonly monitor_failed: "monitor-failed";
    readonly reverted: "reverted";
};
type GetTransactionsStatusEnum = typeof GetTransactionsStatusEnum[keyof typeof GetTransactionsStatusEnum];

export { type ActivateContractFunctionRequest, type ActivateContractFunctionResponse, Configuration, type ConfigurationParameters, type ContractActivatedFunctionInResponse, ContractApi, ContractApiAxiosParamCreator, ContractApiFactory, ContractApiFp, type ContractInResponse, type CreateEventNotifierSubscriptionRequest, CreateEventNotifierSubscriptionRequestNetworkIdEnum, type CreateEventNotifierSubscriptionResponse, type DeactivateContractFunctionRequest, type DeactivateContractFunctionResponse, EventNotifierApi, EventNotifierApiAxiosParamCreator, EventNotifierApiFactory, EventNotifierApiFp, type EventNotifierRecordInResponse, EventNotifierRecordInResponseStatusEnum, type EventNotifierSubscriptionInResponse, EventNotifierSubscriptionInResponseScanStatusEnum, type ExecuteTransactionRequest, type ExecuteTransactionResponse, type GetContractActivatedFunctionsRequest, type GetContractActivatedFunctionsResponse, type GetEventNotifierRecordsRequest, type GetEventNotifierRecordsResponse, type GetEventNotifierSubscriptionsResponse, type GetProjectDetailResponse, type GetProjectDetailResponseData, type GetProjectsResponse, type GetProjectsResponseData, type GetTransactionResponse, type GetTransactionsResponse, type GetTransactionsResponseData, GetTransactionsStatusEnum, type ImportContractRequest, ImportContractRequestNetworkIdEnum, type ImportContractResponse, type MSystemWalletInResponse, MSystemWalletInResponseNetworkTypeEnum, MSystemWalletInResponseOwnerTypeEnum, MSystemWalletInResponseTypeEnum, type PaginationMetadata, ProjectApi, ProjectApiAxiosParamCreator, ProjectApiFactory, ProjectApiFp, type ProjectInResponse, type ResendFailedWebhookRequest, type ResendFailedWebhookResponse, TransactionApi, TransactionApiAxiosParamCreator, TransactionApiFactory, TransactionApiFp, type TransactionV3InResponse, TransactionV3InResponseStatusEnum, type UpdateEventNotifierSubscriptionWebhookRequest, type UpdateEventNotifierSubscriptionWebhookResponse };
