import { Promised } from "./utils";
declare global {
    interface Generator<T = unknown, TReturn = any, TNext = unknown> {
        /**
         * Computes the average of a sequence of number values.
         * @returns The average of the sequence of values.
         */
        average(this: Generator<number, TReturn, TNext>): number;
        /**
         * Computes the average of a sequence of number values that are obtained by invoking a transform function on each element of the input sequence.
         * @returns The average of the sequence of values.
         */
        average(selector: (item: T) => number): number;
    }
    interface AsyncGenerator<T = unknown, TReturn = any, TNext = unknown> {
        average(this: AsyncGenerator<number, TReturn, TNext>): number;
        average(selector: (item: T) => Promised<number>): Promise<number>;
    }
}
