import { State } from '../shared/State';
export type IdmCrypto = {
    /**
     * Test if a value is encrypted
     * @param {any} value value to test
     * @returns {boolean} true if the value is encrypted, false otherwise
     */
    isEncrypted(value: any): boolean;
    /**
     * Encrypt a value
     * @param {any} value value to encrypt
     * @returns {Promise<any>} a promise resolving to the encrypted value
     */
    encrypt(value: any): Promise<any>;
    /**
     * Encrypt a map of values
     * @param {{ [key: string]: any }} map map of values to encrypt
     * @returns {Promise<{ [key: string]: any }>} a promise resolving to a map of encrypted values
     */
    encryptMap(map: {
        [key: string]: any;
    }): Promise<{
        [key: string]: any;
    }>;
    /**
     * Decrypt a value
     * @returns {Promise<SystemStatusInterface[]>} a promise resolving to the decrypted value
     */
    decrypt(script: string): Promise<any>;
    /**
     * Decrypt a map of values
     * @param {{ [key: string]: any }} map map of values to decrypt
     * @returns {Promise<{ [key: string]: any }>} a promise resolving to a map of decrypted values
     */
    decryptMap(map: {
        [key: string]: any;
    }): Promise<{
        [key: string]: any;
    }>;
};
declare const _default: (state: State) => IdmCrypto;
export default _default;
export declare function isEncrypted(value: any): boolean;
export declare function encrypt({ value, state, }: {
    value: any;
    state: State;
}): Promise<any>;
export declare function encryptMap({ map, state, }: {
    map: {
        [key: string]: any;
    };
    state: State;
}): Promise<{
    [key: string]: any;
}>;
export declare function decrypt({ value, state, }: {
    value: any;
    state: State;
}): Promise<any>;
export declare function decryptMap({ map, state, }: {
    map: {
        [key: string]: any;
    };
    state: State;
}): Promise<{
    [key: string]: any;
}>;
//# sourceMappingURL=IdmCryptoOps.d.ts.map