@iota-big3/sdk-quantum
Version:
Quantum-ready architecture with post-quantum cryptography
69 lines • 3.05 kB
TypeScript
import { EventEmitter } from 'events';
export { QuantumManager } from './core/quantum-manager';
export * from './types';
export declare class QuantumSDK extends EventEmitter {
private manager;
private config;
constructor(config?: QuantumSDKConfig);
generateKeyPair(algorithm?: PostQuantumAlgorithm): Promise<KeyPair>;
encrypt(data: Uint8Array, keyId: string): Promise<EncryptionResult>;
decrypt(encryptionResult: EncryptionResult): Promise<Uint8Array>;
sign(data: Uint8Array, keyId: string): Promise<SignatureResult>;
createCircuit(name: string, qubits: number): Promise<QuantumCircuit>;
executeCircuit(circuitId: string, shots?: number): Promise<SimulationResult>;
storeData(key: string, data: Uint8Array): Promise<string>;
healthCheck(): Promise<{
status: string;
details: Record<string, unknown>;
}>;
isEnabled(): boolean;
enable(): void;
disable(): void;
getKeyPairs(): KeyPair[];
getCircuits(): QuantumCircuit[];
getDataEntries(): QuantumDataEntry[];
}
export declare class QuantumUtils {
static generateSecureRandom(length: number): Uint8Array;
static calculateQuantumHash(data: Uint8Array): string;
static validateSecurityLevel(algorithm: PostQuantumAlgorithm, level: SecurityLevel): boolean;
static estimateQuantumAdvantage(classicalComplexity: string, quantumComplexity: string): QuantumAdvantage;
static binaryToAmplitudes(binaryString: string): {
real: number;
imaginary: number;
}[];
static calculateCircuitDepth(gates: {
qubits: number[];
type: string;
}[]): number;
}
export declare class QuantumAlgorithmTemplates {
static createGroverAlgorithm(databaseSize: number): QuantumAlgorithm;
static createShorAlgorithm(numberToFactor: number): QuantumAlgorithm;
static createQFTAlgorithm(qubits: number): QuantumAlgorithm;
static createVQEAlgorithm(moleculeSize: number): QuantumAlgorithm;
}
export declare class QuantumCircuitBuilder {
private gates;
private qubits;
private name;
constructor(name: string, qubits: number);
h(qubit: number): QuantumCircuitBuilder;
x(qubit: number): QuantumCircuitBuilder;
y(qubit: number): QuantumCircuitBuilder;
z(qubit: number): QuantumCircuitBuilder;
cnot(control: number, target: number): QuantumCircuitBuilder;
rx(qubit: number, angle: number): QuantumCircuitBuilder;
ry(qubit: number, angle: number): QuantumCircuitBuilder;
rz(qubit: number, angle: number): QuantumCircuitBuilder;
build(): Omit<QuantumCircuit, 'id' | 'createdAt'>;
private validateQubit;
}
export declare class QuantumCircuitTemplates {
static bellState(): Omit<QuantumCircuit, 'id' | 'createdAt'>;
static ghzState(qubits: number): Omit<QuantumCircuit, 'id' | 'createdAt'>;
static quantumTeleportation(): Omit<QuantumCircuit, 'id' | 'createdAt'>;
static randomNumberGenerator(bits: number): Omit<QuantumCircuit, 'id' | 'createdAt'>;
}
export default QuantumSDK;
//# sourceMappingURL=index.d.ts.map