/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { RequestArgs, BaseAPI } from '../base';
import { CreateSigningKeyDto } from '../models';
import { CreateValidationKeyDto } from '../models';
import { CreateValidationKeyResponseDto } from '../models';
import { GetSigningKeyResponseDto } from '../models';
import { GetValidationKeyResponseDto } from '../models';
import { ModifySigningKeyAgentIdDto } from '../models';
import { ModifySigningKeyDto } from '../models';
import { ModifyValidationKeyDto } from '../models';
import { SigningKeyDto } from '../models';
import { ValidationKeyDto } from '../models';
/**
 * KeyLinkBetaApi - axios parameter creator
 * @export
 */
export declare const KeyLinkBetaApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Adds a new signing key to the workspace. The added key will be linked to the specific Fireblocks agent user ID. The same user will receive the proof of ownership message to be signed, and upon successful proof, the key will become enabled.
     * @summary Add a new signing key
     * @param {CreateSigningKeyDto} createSigningKeyDto
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSigningKey: (createSigningKeyDto: CreateSigningKeyDto, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Adds a new validation key used to validate signing keys. The new validation key will undergo an approval process by the workspace quorum.
     * @summary Add a new validation key
     * @param {CreateValidationKeyDto} createValidationKeyDto
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createValidationKey: (createValidationKeyDto: CreateValidationKeyDto, idempotencyKey?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Allows disabling validation key even if it has not expired yet. It is not allowed to enable the validation key back. Another key has to be used for future validations.
     * @summary Disables a validation key
     * @param {ModifyValidationKeyDto} modifyValidationKeyDto
     * @param {string} keyId The unique identifier for the validation key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    disableValidationKey: (modifyValidationKeyDto: ModifyValidationKeyDto, keyId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a signing key if it exists, identified by the specified `keyId`.
     * @summary Get a signing key by `keyId`
     * @param {string} keyId The unique identifier for the signing key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSigningKey: (keyId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns the list of signing keys in the workspace
     * @summary Get list of signing keys
     * @param {string} [pageCursor] Cursor to the next page
     * @param {number} [pageSize] Amount of results to return in the next page
     * @param {GetSigningKeysListSortByEnum} [sortBy] Field(s) to use for sorting
     * @param {GetSigningKeysListOrderEnum} [order] Is the order ascending or descending
     * @param {number} [vaultAccountId] Return keys assigned to a specific vault
     * @param {string} [agentUserId] Return keys associated with a specific agent user
     * @param {GetSigningKeysListAlgorithmEnum} [algorithm] Return only keys with a specific algorithm
     * @param {boolean} [enabled] Return keys that have been proof of ownership
     * @param {boolean} [available] Return keys that are proof of ownership but not assigned. Available filter can be used only when vaultAccountId and enabled filters are not set
     * @param {boolean | null} [isAssigned] Return keys that are assigned to a vault account
     * @param {string} [keyPrefix] A case-insensitive prefix filter that matches records where either keyId or signingDeviceKeyID starts with the specified value.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSigningKeysList: (pageCursor?: string, pageSize?: number, sortBy?: GetSigningKeysListSortByEnum, order?: GetSigningKeysListOrderEnum, vaultAccountId?: number, agentUserId?: string, algorithm?: GetSigningKeysListAlgorithmEnum, enabled?: boolean, available?: boolean, isAssigned?: boolean | null, keyPrefix?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns a validation key if it exists, identified by the specified `keyId`.
     * @summary Get a validation key by `keyId`
     * @param {string} keyId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getValidationKey: (keyId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns the list of validation keys in the workspace
     * @summary Get list of registered validation keys
     * @param {string} [pageCursor] Cursor to the next page
     * @param {number} [pageSize] Amount of results to return in the next page
     * @param {GetValidationKeysListSortByEnum} [sortBy] Field(s) to use for sorting
     * @param {GetValidationKeysListOrderEnum} [order] Is the order ascending or descending
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getValidationKeysList: (pageCursor?: string, pageSize?: number, sortBy?: GetValidationKeysListSortByEnum, order?: GetValidationKeysListOrderEnum, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Can modify existing signing key id if the key is not enabled. The change done in background and will be visible once applied. If key is already enabled (after proof of ownership) the user cannot be changed.
     * @summary Set agent user id
     * @param {ModifySigningKeyAgentIdDto} modifySigningKeyAgentIdDto
     * @param {string} keyId The unique identifier for the signing key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setAgentId: (modifySigningKeyAgentIdDto: ModifySigningKeyAgentIdDto, keyId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Allows assigning the signing key to a vault account, if it hasn\'t been assigned to any other vault accounts yet.
     * @summary Modify the signing keyId
     * @param {ModifySigningKeyDto} modifySigningKeyDto
     * @param {string} keyId The unique identifier for the signing key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateSigningKey: (modifySigningKeyDto: ModifySigningKeyDto, keyId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * KeyLinkBetaApi - functional programming interface
 * @export
 */
export declare const KeyLinkBetaApiFp: (configuration?: Configuration) => {
    /**
     * Adds a new signing key to the workspace. The added key will be linked to the specific Fireblocks agent user ID. The same user will receive the proof of ownership message to be signed, and upon successful proof, the key will become enabled.
     * @summary Add a new signing key
     * @param {CreateSigningKeyDto} createSigningKeyDto
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSigningKey(createSigningKeyDto: CreateSigningKeyDto, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SigningKeyDto>>;
    /**
     * Adds a new validation key used to validate signing keys. The new validation key will undergo an approval process by the workspace quorum.
     * @summary Add a new validation key
     * @param {CreateValidationKeyDto} createValidationKeyDto
     * @param {string} [idempotencyKey] A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createValidationKey(createValidationKeyDto: CreateValidationKeyDto, idempotencyKey?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateValidationKeyResponseDto>>;
    /**
     * Allows disabling validation key even if it has not expired yet. It is not allowed to enable the validation key back. Another key has to be used for future validations.
     * @summary Disables a validation key
     * @param {ModifyValidationKeyDto} modifyValidationKeyDto
     * @param {string} keyId The unique identifier for the validation key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    disableValidationKey(modifyValidationKeyDto: ModifyValidationKeyDto, keyId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ValidationKeyDto>>;
    /**
     * Returns a signing key if it exists, identified by the specified `keyId`.
     * @summary Get a signing key by `keyId`
     * @param {string} keyId The unique identifier for the signing key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSigningKey(keyId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SigningKeyDto>>;
    /**
     * Returns the list of signing keys in the workspace
     * @summary Get list of signing keys
     * @param {string} [pageCursor] Cursor to the next page
     * @param {number} [pageSize] Amount of results to return in the next page
     * @param {GetSigningKeysListSortByEnum} [sortBy] Field(s) to use for sorting
     * @param {GetSigningKeysListOrderEnum} [order] Is the order ascending or descending
     * @param {number} [vaultAccountId] Return keys assigned to a specific vault
     * @param {string} [agentUserId] Return keys associated with a specific agent user
     * @param {GetSigningKeysListAlgorithmEnum} [algorithm] Return only keys with a specific algorithm
     * @param {boolean} [enabled] Return keys that have been proof of ownership
     * @param {boolean} [available] Return keys that are proof of ownership but not assigned. Available filter can be used only when vaultAccountId and enabled filters are not set
     * @param {boolean | null} [isAssigned] Return keys that are assigned to a vault account
     * @param {string} [keyPrefix] A case-insensitive prefix filter that matches records where either keyId or signingDeviceKeyID starts with the specified value.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSigningKeysList(pageCursor?: string, pageSize?: number, sortBy?: GetSigningKeysListSortByEnum, order?: GetSigningKeysListOrderEnum, vaultAccountId?: number, agentUserId?: string, algorithm?: GetSigningKeysListAlgorithmEnum, enabled?: boolean, available?: boolean, isAssigned?: boolean | null, keyPrefix?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSigningKeyResponseDto>>;
    /**
     * Returns a validation key if it exists, identified by the specified `keyId`.
     * @summary Get a validation key by `keyId`
     * @param {string} keyId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getValidationKey(keyId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ValidationKeyDto>>;
    /**
     * Returns the list of validation keys in the workspace
     * @summary Get list of registered validation keys
     * @param {string} [pageCursor] Cursor to the next page
     * @param {number} [pageSize] Amount of results to return in the next page
     * @param {GetValidationKeysListSortByEnum} [sortBy] Field(s) to use for sorting
     * @param {GetValidationKeysListOrderEnum} [order] Is the order ascending or descending
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getValidationKeysList(pageCursor?: string, pageSize?: number, sortBy?: GetValidationKeysListSortByEnum, order?: GetValidationKeysListOrderEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetValidationKeyResponseDto>>;
    /**
     * Can modify existing signing key id if the key is not enabled. The change done in background and will be visible once applied. If key is already enabled (after proof of ownership) the user cannot be changed.
     * @summary Set agent user id
     * @param {ModifySigningKeyAgentIdDto} modifySigningKeyAgentIdDto
     * @param {string} keyId The unique identifier for the signing key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setAgentId(modifySigningKeyAgentIdDto: ModifySigningKeyAgentIdDto, keyId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * Allows assigning the signing key to a vault account, if it hasn\'t been assigned to any other vault accounts yet.
     * @summary Modify the signing keyId
     * @param {ModifySigningKeyDto} modifySigningKeyDto
     * @param {string} keyId The unique identifier for the signing key provided by Fireblocks
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateSigningKey(modifySigningKeyDto: ModifySigningKeyDto, keyId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SigningKeyDto>>;
};
/**
 * KeyLinkBetaApi - factory interface
 * @export
 */
export declare const KeyLinkBetaApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Adds a new signing key to the workspace. The added key will be linked to the specific Fireblocks agent user ID. The same user will receive the proof of ownership message to be signed, and upon successful proof, the key will become enabled.
     * @summary Add a new signing key
     * @param {KeyLinkBetaApiCreateSigningKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createSigningKey(requestParameters: KeyLinkBetaApiCreateSigningKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<SigningKeyDto>;
    /**
     * Adds a new validation key used to validate signing keys. The new validation key will undergo an approval process by the workspace quorum.
     * @summary Add a new validation key
     * @param {KeyLinkBetaApiCreateValidationKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createValidationKey(requestParameters: KeyLinkBetaApiCreateValidationKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateValidationKeyResponseDto>;
    /**
     * Allows disabling validation key even if it has not expired yet. It is not allowed to enable the validation key back. Another key has to be used for future validations.
     * @summary Disables a validation key
     * @param {KeyLinkBetaApiDisableValidationKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    disableValidationKey(requestParameters: KeyLinkBetaApiDisableValidationKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<ValidationKeyDto>;
    /**
     * Returns a signing key if it exists, identified by the specified `keyId`.
     * @summary Get a signing key by `keyId`
     * @param {KeyLinkBetaApiGetSigningKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSigningKey(requestParameters: KeyLinkBetaApiGetSigningKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<SigningKeyDto>;
    /**
     * Returns the list of signing keys in the workspace
     * @summary Get list of signing keys
     * @param {KeyLinkBetaApiGetSigningKeysListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getSigningKeysList(requestParameters?: KeyLinkBetaApiGetSigningKeysListRequest, options?: RawAxiosRequestConfig): AxiosPromise<GetSigningKeyResponseDto>;
    /**
     * Returns a validation key if it exists, identified by the specified `keyId`.
     * @summary Get a validation key by `keyId`
     * @param {KeyLinkBetaApiGetValidationKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getValidationKey(requestParameters: KeyLinkBetaApiGetValidationKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<ValidationKeyDto>;
    /**
     * Returns the list of validation keys in the workspace
     * @summary Get list of registered validation keys
     * @param {KeyLinkBetaApiGetValidationKeysListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getValidationKeysList(requestParameters?: KeyLinkBetaApiGetValidationKeysListRequest, options?: RawAxiosRequestConfig): AxiosPromise<GetValidationKeyResponseDto>;
    /**
     * Can modify existing signing key id if the key is not enabled. The change done in background and will be visible once applied. If key is already enabled (after proof of ownership) the user cannot be changed.
     * @summary Set agent user id
     * @param {KeyLinkBetaApiSetAgentIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    setAgentId(requestParameters: KeyLinkBetaApiSetAgentIdRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     * Allows assigning the signing key to a vault account, if it hasn\'t been assigned to any other vault accounts yet.
     * @summary Modify the signing keyId
     * @param {KeyLinkBetaApiUpdateSigningKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateSigningKey(requestParameters: KeyLinkBetaApiUpdateSigningKeyRequest, options?: RawAxiosRequestConfig): AxiosPromise<SigningKeyDto>;
};
/**
 * Request parameters for createSigningKey operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiCreateSigningKeyRequest
 */
export interface KeyLinkBetaApiCreateSigningKeyRequest {
    /**
     *
     * @type {CreateSigningKeyDto}
     * @memberof KeyLinkBetaApiCreateSigningKey
     */
    readonly createSigningKeyDto: CreateSigningKeyDto;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof KeyLinkBetaApiCreateSigningKey
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for createValidationKey operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiCreateValidationKeyRequest
 */
export interface KeyLinkBetaApiCreateValidationKeyRequest {
    /**
     *
     * @type {CreateValidationKeyDto}
     * @memberof KeyLinkBetaApiCreateValidationKey
     */
    readonly createValidationKeyDto: CreateValidationKeyDto;
    /**
     * A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
     * @type {string}
     * @memberof KeyLinkBetaApiCreateValidationKey
     */
    readonly idempotencyKey?: string;
}
/**
 * Request parameters for disableValidationKey operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiDisableValidationKeyRequest
 */
export interface KeyLinkBetaApiDisableValidationKeyRequest {
    /**
     *
     * @type {ModifyValidationKeyDto}
     * @memberof KeyLinkBetaApiDisableValidationKey
     */
    readonly modifyValidationKeyDto: ModifyValidationKeyDto;
    /**
     * The unique identifier for the validation key provided by Fireblocks
     * @type {string}
     * @memberof KeyLinkBetaApiDisableValidationKey
     */
    readonly keyId: string;
}
/**
 * Request parameters for getSigningKey operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiGetSigningKeyRequest
 */
export interface KeyLinkBetaApiGetSigningKeyRequest {
    /**
     * The unique identifier for the signing key provided by Fireblocks
     * @type {string}
     * @memberof KeyLinkBetaApiGetSigningKey
     */
    readonly keyId: string;
}
/**
 * Request parameters for getSigningKeysList operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiGetSigningKeysListRequest
 */
export interface KeyLinkBetaApiGetSigningKeysListRequest {
    /**
     * Cursor to the next page
     * @type {string}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly pageCursor?: string;
    /**
     * Amount of results to return in the next page
     * @type {number}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly pageSize?: number;
    /**
     * Field(s) to use for sorting
     * @type {'createdAt'}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly sortBy?: GetSigningKeysListSortByEnum;
    /**
     * Is the order ascending or descending
     * @type {'ASC' | 'DESC'}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly order?: GetSigningKeysListOrderEnum;
    /**
     * Return keys assigned to a specific vault
     * @type {number}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly vaultAccountId?: number;
    /**
     * Return keys associated with a specific agent user
     * @type {string}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly agentUserId?: string;
    /**
     * Return only keys with a specific algorithm
     * @type {'ECDSA_SECP256K1' | 'EDDSA_ED25519'}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly algorithm?: GetSigningKeysListAlgorithmEnum;
    /**
     * Return keys that have been proof of ownership
     * @type {boolean}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly enabled?: boolean;
    /**
     * Return keys that are proof of ownership but not assigned. Available filter can be used only when vaultAccountId and enabled filters are not set
     * @type {boolean}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly available?: boolean;
    /**
     * Return keys that are assigned to a vault account
     * @type {boolean}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly isAssigned?: boolean | null;
    /**
     * A case-insensitive prefix filter that matches records where either keyId or signingDeviceKeyID starts with the specified value.
     * @type {string}
     * @memberof KeyLinkBetaApiGetSigningKeysList
     */
    readonly keyPrefix?: string;
}
/**
 * Request parameters for getValidationKey operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiGetValidationKeyRequest
 */
export interface KeyLinkBetaApiGetValidationKeyRequest {
    /**
     *
     * @type {string}
     * @memberof KeyLinkBetaApiGetValidationKey
     */
    readonly keyId: string;
}
/**
 * Request parameters for getValidationKeysList operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiGetValidationKeysListRequest
 */
export interface KeyLinkBetaApiGetValidationKeysListRequest {
    /**
     * Cursor to the next page
     * @type {string}
     * @memberof KeyLinkBetaApiGetValidationKeysList
     */
    readonly pageCursor?: string;
    /**
     * Amount of results to return in the next page
     * @type {number}
     * @memberof KeyLinkBetaApiGetValidationKeysList
     */
    readonly pageSize?: number;
    /**
     * Field(s) to use for sorting
     * @type {'createdAt'}
     * @memberof KeyLinkBetaApiGetValidationKeysList
     */
    readonly sortBy?: GetValidationKeysListSortByEnum;
    /**
     * Is the order ascending or descending
     * @type {'ASC' | 'DESC'}
     * @memberof KeyLinkBetaApiGetValidationKeysList
     */
    readonly order?: GetValidationKeysListOrderEnum;
}
/**
 * Request parameters for setAgentId operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiSetAgentIdRequest
 */
export interface KeyLinkBetaApiSetAgentIdRequest {
    /**
     *
     * @type {ModifySigningKeyAgentIdDto}
     * @memberof KeyLinkBetaApiSetAgentId
     */
    readonly modifySigningKeyAgentIdDto: ModifySigningKeyAgentIdDto;
    /**
     * The unique identifier for the signing key provided by Fireblocks
     * @type {string}
     * @memberof KeyLinkBetaApiSetAgentId
     */
    readonly keyId: string;
}
/**
 * Request parameters for updateSigningKey operation in KeyLinkBetaApi.
 * @export
 * @interface KeyLinkBetaApiUpdateSigningKeyRequest
 */
export interface KeyLinkBetaApiUpdateSigningKeyRequest {
    /**
     *
     * @type {ModifySigningKeyDto}
     * @memberof KeyLinkBetaApiUpdateSigningKey
     */
    readonly modifySigningKeyDto: ModifySigningKeyDto;
    /**
     * The unique identifier for the signing key provided by Fireblocks
     * @type {string}
     * @memberof KeyLinkBetaApiUpdateSigningKey
     */
    readonly keyId: string;
}
/**
 * KeyLinkBetaApi - object-oriented interface
 * @export
 * @class KeyLinkBetaApi
 * @extends {BaseAPI}
 */
export declare class KeyLinkBetaApi extends BaseAPI {
    /**
     * Adds a new signing key to the workspace. The added key will be linked to the specific Fireblocks agent user ID. The same user will receive the proof of ownership message to be signed, and upon successful proof, the key will become enabled.
     * @summary Add a new signing key
     * @param {KeyLinkBetaApiCreateSigningKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    createSigningKey(requestParameters: KeyLinkBetaApiCreateSigningKeyRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<SigningKeyDto>>;
    /**
     * Adds a new validation key used to validate signing keys. The new validation key will undergo an approval process by the workspace quorum.
     * @summary Add a new validation key
     * @param {KeyLinkBetaApiCreateValidationKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    createValidationKey(requestParameters: KeyLinkBetaApiCreateValidationKeyRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<CreateValidationKeyResponseDto>>;
    /**
     * Allows disabling validation key even if it has not expired yet. It is not allowed to enable the validation key back. Another key has to be used for future validations.
     * @summary Disables a validation key
     * @param {KeyLinkBetaApiDisableValidationKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    disableValidationKey(requestParameters: KeyLinkBetaApiDisableValidationKeyRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ValidationKeyDto>>;
    /**
     * Returns a signing key if it exists, identified by the specified `keyId`.
     * @summary Get a signing key by `keyId`
     * @param {KeyLinkBetaApiGetSigningKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    getSigningKey(requestParameters: KeyLinkBetaApiGetSigningKeyRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<SigningKeyDto>>;
    /**
     * Returns the list of signing keys in the workspace
     * @summary Get list of signing keys
     * @param {KeyLinkBetaApiGetSigningKeysListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    getSigningKeysList(requestParameters?: KeyLinkBetaApiGetSigningKeysListRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<GetSigningKeyResponseDto>>;
    /**
     * Returns a validation key if it exists, identified by the specified `keyId`.
     * @summary Get a validation key by `keyId`
     * @param {KeyLinkBetaApiGetValidationKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    getValidationKey(requestParameters: KeyLinkBetaApiGetValidationKeyRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<ValidationKeyDto>>;
    /**
     * Returns the list of validation keys in the workspace
     * @summary Get list of registered validation keys
     * @param {KeyLinkBetaApiGetValidationKeysListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    getValidationKeysList(requestParameters?: KeyLinkBetaApiGetValidationKeysListRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<GetValidationKeyResponseDto>>;
    /**
     * Can modify existing signing key id if the key is not enabled. The change done in background and will be visible once applied. If key is already enabled (after proof of ownership) the user cannot be changed.
     * @summary Set agent user id
     * @param {KeyLinkBetaApiSetAgentIdRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    setAgentId(requestParameters: KeyLinkBetaApiSetAgentIdRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<void>>;
    /**
     * Allows assigning the signing key to a vault account, if it hasn\'t been assigned to any other vault accounts yet.
     * @summary Modify the signing keyId
     * @param {KeyLinkBetaApiUpdateSigningKeyRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof KeyLinkBetaApi
     */
    updateSigningKey(requestParameters: KeyLinkBetaApiUpdateSigningKeyRequest): Promise<import("../response/fireblocksResponse").FireblocksResponse<SigningKeyDto>>;
}
/**
 * @export
 */
export declare const GetSigningKeysListSortByEnum: {
    readonly CreatedAt: "createdAt";
};
export type GetSigningKeysListSortByEnum = typeof GetSigningKeysListSortByEnum[keyof typeof GetSigningKeysListSortByEnum];
/**
 * @export
 */
export declare const GetSigningKeysListOrderEnum: {
    readonly Asc: "ASC";
    readonly Desc: "DESC";
};
export type GetSigningKeysListOrderEnum = typeof GetSigningKeysListOrderEnum[keyof typeof GetSigningKeysListOrderEnum];
/**
 * @export
 */
export declare const GetSigningKeysListAlgorithmEnum: {
    readonly EcdsaSecp256K1: "ECDSA_SECP256K1";
    readonly EddsaEd25519: "EDDSA_ED25519";
};
export type GetSigningKeysListAlgorithmEnum = typeof GetSigningKeysListAlgorithmEnum[keyof typeof GetSigningKeysListAlgorithmEnum];
/**
 * @export
 */
export declare const GetValidationKeysListSortByEnum: {
    readonly CreatedAt: "createdAt";
};
export type GetValidationKeysListSortByEnum = typeof GetValidationKeysListSortByEnum[keyof typeof GetValidationKeysListSortByEnum];
/**
 * @export
 */
export declare const GetValidationKeysListOrderEnum: {
    readonly Asc: "ASC";
    readonly Desc: "DESC";
};
export type GetValidationKeysListOrderEnum = typeof GetValidationKeysListOrderEnum[keyof typeof GetValidationKeysListOrderEnum];
