import { Define } from './define'; export declare class Koma { readonly value: Define.KomaValue; private constructor(); static empty: Koma; static hidden: Koma; static shi: Koma; static gon: Koma; static bakko: Koma; static gin: Koma; static kin: Koma; static kaku: Koma; static hisha: Koma; static ou: Koma; static gyoku: Koma; static fromStr(val: string): Koma; readonly score: number; readonly Text: string; readonly isKing: boolean; readonly isShi: boolean; readonly isHidden: boolean; readonly isEmpty: boolean; /** return if this koma equals to the given koma. exception: "The OU equals the GYOKU" */ equals(target: Koma): boolean; /** return if this koma equals to the given koma. */ equalsExact(target: Koma): boolean; canBlock(attack: Koma): boolean; toString(): string; } export declare class KomaArray { static findIndex(target: Array, koma: Koma): number; static findIndexExact(target: Array, koma: Koma): number; static contains(target: Array, koma: Koma): boolean; static containsExact(target: Array, koma: Koma): boolean; static count(target: Array, koma: Koma): number; static countExact(target: Array, koma: Koma): number; static sortAsc(target: Array): void; static sortDesc(target: Array): void; private static comparerDesc(a, b); private static comparerAsc(a, b); static getUnique(target: Koma[]): Array; static createFrom(hand_or_field: string): Koma[]; static createEmptyField(): Array; static toString(target: Array): string; static toTextString(target: Array): string; static getLength(target: Array): number; }