import { Observable } from 'rxjs';
export {};
declare global {
    interface Array<T = any> {
        search(searchText: string | number, fields?: string | string[]): T[];
        paging(pageSize: number, page?: number): T[];
        toObject(key?: string): {
            [key: string]: T;
        };
        union(key?: string, ...args: T[][]): T[];
        asObservable(): Observable<T[]>;
    }
    interface ArrayConstructor {
        search<T = any>(items: T[], searchText: string | number, fields?: Extract<keyof T, string> | Extract<keyof T, string>[]): T[];
        union<T = any>(key: Extract<keyof T, string>, ...args: T[][]): T[];
        toObject<T = any>(items: T[], key?: string): {
            [key: string]: T;
        };
        sum<T = any>(items: T[], key: Extract<keyof T, string>): number;
    }
}
