import { JugglerBeats, Position, Throw } from './common';
import { State } from './state';
import { VanillaSiteswap } from './vanilla-siteswap';
import { JIF } from './jif';
export declare class Siteswap {
    numObjects: number;
    numJugglers: number;
    period: number;
    maxHeight: number;
    maxMultiplex: number;
    hasSync: boolean;
    hasAsync: boolean;
    hasPass: boolean;
    pureAsync: boolean;
    isValid: boolean;
    errorMessage: string;
    jugglers: JugglerBeats[];
    jugglerDelays: number[];
    state: State;
    _jugglerDelaysInferred: boolean;
    _implicitFlip: boolean;
    constructor(jugglers: JugglerBeats[], jugglerDelays?: number[]);
    inferJugglerDelays(): boolean;
    throwsAt(position: Position): Throw[];
    validate(): boolean;
    toString(): string;
    flip(): Siteswap;
    toVanilla(): VanillaSiteswap;
    toJIF(): JIF;
    static FromJif(jif: any): Siteswap;
    static Parse(input: string): Siteswap;
    static ParseKHSS(input: string, hands?: number): Siteswap;
    static FromKHSS(input: VanillaSiteswap, hands?: number): Siteswap;
}
