import { Algorithm } from '../Algorithm/Algorithm'; import { FaceMove } from '../Algorithm/Nodes'; import { Orientation } from '../utils/Orientation'; import { CornerName, CornerPiece, EdgeName, EdgePiece } from './Piece'; export declare type Corners = [ CornerPiece, CornerPiece, CornerPiece, CornerPiece, CornerPiece, CornerPiece, CornerPiece, CornerPiece ]; export declare type Edges = [ EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece, EdgePiece ]; export declare class Cube { readonly corners: Corners; readonly edges: Edges; readonly orientation: Orientation; static readonly solvedCorners: Readonly; static readonly solvedEdges: Readonly; static readonly pieceLocations: Record>; constructor(scramble?: Algorithm | string); get isSolved(): boolean; get isOriented(): boolean; apply(alg: Algorithm | string): this; scramble(alg: Algorithm | string): this; solve(alg: Algorithm | string): this; orient(): void; private turn; }