export declare function toLetter(n: number, base: string): string;
export declare function fromLetter(letter: string, base: string): number;
export declare function intToSS(n: number): string;
export declare function floatToSS(n: number): string;
export declare function ssToInt(ss: string): number;
export declare function ssToFloat(ss: string): number;
export declare enum Hand {
    Right = 0,
    Left = 1
}
export declare function fixFraction(n: number, allow36?: boolean): number;
export declare function unfixFraction(n: number, allow36?: boolean): number;
export interface Position {
    juggler: number;
    time: number;
    hand: Hand;
}
export declare function allPositions(numJugglers: number, period: number): Position[];
export declare class Throw {
    dispHeight: number;
    height: number;
    x: boolean;
    pass: boolean;
    passTo?: number;
    constructor(height: number, x: boolean, pass: boolean, passTo?: number);
    toString(): string;
    throwSwapsHands(): boolean;
    landJuggler(startJuggler: number, numJugglers: number): number;
    clone(): Throw;
    static FromPositions(p1: Position, p2: Position): Throw;
}
export declare class JugglerBeat {
    LH: Throw[];
    RH: Throw[];
    constructor(LH: Throw[], RH: Throw[]);
    isSync(): boolean;
    isEmpty(): boolean;
    isAsync(): boolean;
    maxMultiplex(): number;
    hasPass(): boolean;
    flip(): JugglerBeat;
    clone(): JugglerBeat;
    toString(nextHand: Hand): string;
}
declare type GeneralBeat = Throw[] | JugglerBeat;
export declare class JugglerBeats {
    beats: JugglerBeat[];
    constructor(beats: GeneralBeat[], repeatFlipped?: boolean);
    flip(): JugglerBeats;
    clone(): JugglerBeats;
    toString(): string;
}
export {};
