// Generated by typings
// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/8155d75d30655cce91133c9bd8515af0cd59f8ba/query-string/index.d.ts
declare module "query-string" {

    interface ParseOptions {
        arrayFormat?: 'bracket' | 'index' | 'none';
    }

    /**
     * Parse a query string into an object.
     * Leading ? or # are ignored, so you can pass location.search or location.hash directly.
     * @param str
     */
    export function parse(str: string, options?: ParseOptions): any;

    interface StringifyOptions {
        strict?: boolean;
        encode?: boolean;
        arrayFormat?: 'bracket' | 'index' | 'none';
    }

    /**
     * Stringify an object into a query string, sorting the keys.
     *
     * @param obj
     */
    export function stringify(obj: object, options?: StringifyOptions): string;

    /**
     * Extract a query string from a URL that can be passed into .parse().
     *
     * @param str
     */
    export function extract(str: string): string;
}
