export interface MatchParam {
    name: string;
    wildcard?: boolean;
}
export declare type MatchPatternField = string | MatchParam;
export declare class MatchPattern {
    readonly fields: MatchPatternField[];
    readonly params: MatchParams;
    private _fields;
    private _params;
    constructor(path: string);
    /**
     * Match path with pattern
     *
     * @param {string} path Path to be matched
     * @returns {(false | MatchParams)} If no match is found, `false` will be returned. If match is found, a MatchParams object will be returned with pattern param values contained.
     * @memberof MatchPattern
     */
    match: (path: string) => false | MatchParams;
    /**
     * Match path and pattern to match from the start with the pattern
     *
     * @param {string} path Path to be matched
     * @returns {(false | MatchParams)} If no match is found, `false` will be returned. If match is found, a MatchParams object will be returned with pattern param values contained.
     * @memberof MatchPattern
     */
    matchPrefix: (path: string) => false | MatchParams;
    private resolvePathFromIndex;
    /**
     * Parse path used in Firestore rule match and get operations
     *
     * @export
     * @param {string} path Path presentation with possible wildcard params
     * @returns {MatchPattern}
     */
    private parseMatchPattern;
}
export interface MatchParams {
    [name: string]: string;
}
