type Token = {
    type: string;
    value: string;
    output?: string;
    prev?: Token;
    posix?: boolean;
    star?: boolean;
    suffix?: string;
    extglob?: boolean;
    backslashes?: boolean;
    isBrace?: boolean;
    isBracket?: boolean;
    isExtglob?: boolean;
    isGlobstar?: boolean;
    negated?: boolean;
    depth?: number;
    isPrefix?: boolean;
    outputIndex?: number;
    tokensIndex?: number;
    comma?: boolean;
    dots?: boolean;
};
export type State = {
    input: string;
    index: number;
    start: number;
    dot: boolean;
    consumed: string;
    output: string;
    prefix: string;
    backtrack: boolean;
    negated: boolean;
    brackets: number;
    braces: number;
    parens: number;
    quotes: number;
    globstar: boolean;
    tokens: Token[];
    peek?: (n?: number) => string;
    advance?: () => string;
    negatedExtglob?: boolean;
    maxDepth?: number;
    slashes?: number[];
    parts?: string[];
};
/**
 * Parse the given input string.
 * @param {String} input
 * @param {Object} options
 * @return {Object}
 */
declare const parse: {
    (input: any, options: any): State;
    fastpaths(input: any, options: any): any;
};
export default parse;
