export declare type CornerName = 'UBL' | 'UBR' | 'UFR' | 'UFL' | 'DFL' | 'DFR' | 'DBR' | 'DBL'; export declare type EdgeName = 'UB' | 'UR' | 'UF' | 'UL' | 'FL' | 'FR' | 'BR' | 'BL' | 'DF' | 'DR' | 'DB' | 'DL'; export declare type PieceName = CornerName | EdgeName; export declare type CornerTwist = 0 | 1 | 2; export declare type EdgeFlip = 0 | 1; export interface Piece { name: string; orientation: number; } export declare class CornerPiece implements Piece { readonly name: CornerName; orientation: CornerTwist; constructor(name: CornerName, orientation?: CornerTwist); twist(offset: number): void; } export declare class EdgePiece implements Piece { readonly name: EdgeName; orientation: EdgeFlip; constructor(name: EdgeName, orientation?: EdgeFlip); flip(): void; }