/// <reference types="node" />
import * as models from "../models";
import { GameyeClient } from "./gameye";
/**
 * Start a match
 * @param matchKey a unique identifier for this match, you will use this
 * identifier to refer to this match in the future
 * @param gameKey identifier of the game
 * @param locationKeys list of location identifiers, if the first one is not
 * available, the second one is tried and so on.
 * @param templateKey identifier of the template for this game to use
 * @param config configuration of the template
 * @param endCallbackUrl url that gets called (via GET) after the match ended
 */
export declare function commandStartMatch(this: GameyeClient, matchKey: string, gameKey: string, locationKeys: string[], templateKey: string, config: {
    [name: string]: string | number | boolean;
}, endCallbackUrl?: string): Promise<void>;
/**
 * Stop a match
 * @param matchKey Identifer of the match
 */
export declare function commandStopMatch(this: GameyeClient, matchKey: string): Promise<void>;
/**
 * Fetch the match state
 */
export declare function queryMatch(this: GameyeClient): Promise<models.MatchQueryState>;
/**
 * Subscribe to the match state
 */
export declare function subscribeMatch(this: GameyeClient): Promise<import("stream").Readable>;
