import { Expression } from "jokenizer"; import { Ctor, Func1, Func2, IPartArgument, IQueryPart, Predicate } from "./shared"; export declare class PartArgument implements IPartArgument { static identifier(value: Function | string, scopes?: unknown[]): PartArgument; static literal(value: unknown): PartArgument; private _func; get func(): Function; private _expStr; get expStr(): any; private _exp; get exp(): Expression; private readonly _literal; get literal(): any; private readonly _scopes; get scopes(): unknown[]; constructor($identifier?: Function | string | null, $literal?: unknown, scopes?: unknown[]); } export declare class QueryPart implements IQueryPart { static create(type: string, args?: PartArgument[], scopes?: unknown[]): QueryPart; static aggregate(func: Func2, seed?: TAccumulate, scopes?: unknown[]): QueryPart; static all(predicate?: Predicate, scopes?: unknown[]): QueryPart; static any(predicate?: Predicate, scopes?: unknown[]): QueryPart; static average(selector?: Func1, scopes?: unknown[]): QueryPart; static cast(type: Ctor): QueryPart; static concat(other: T[]): QueryPart; static contains(item: T, comparer?: Func2, scopes?: unknown[]): QueryPart; static count(predicate?: Predicate, scopes?: unknown[]): QueryPart; static defaultIfEmpty(defaultValue?: T): QueryPart; static distinct(comparer?: Func2, scopes?: unknown[]): QueryPart; static elementAt(index: number): QueryPart; static elementAtOrDefault(index: number): QueryPart; static except(other: T[], comparer?: Func2, scopes?: unknown[]): QueryPart; static first(predicate?: Predicate, scopes?: unknown[]): QueryPart; static firstOrDefault(predicate?: Predicate, scopes?: unknown[]): QueryPart; static groupBy(keySelector: Func1, elementSelector: Func2, scopes?: unknown[]): QueryPart; static groupJoin(other: TOther[], thisKey: Func1, otherKey: Func1, selector: Func2, scopes?: unknown[]): QueryPart; static inlineCount(): QueryPart; static intersect(other: T[], comparer?: Func2, scopes?: unknown[]): QueryPart; static join(other: TOther[], thisKey: Func1, otherKey: Func1, selector: Func2, scopes?: unknown[]): QueryPart; static last(predicate?: Predicate, scopes?: unknown[]): QueryPart; static lastOrDefault(predicate?: Predicate, scopes?: unknown[]): QueryPart; static max(selector?: Func1, scopes?: unknown[]): QueryPart; static min(selector?: Func1, scopes?: unknown[]): QueryPart; static ofGuardedType(typeGuard: (i: unknown) => boolean): QueryPart; static ofType(type: Ctor): QueryPart; static orderBy(keySelector: Func1, scopes?: unknown[]): QueryPart; static orderByDescending(keySelector: Func1, scopes?: unknown[]): QueryPart; static reverse(): QueryPart; static select(selector: Func1, scopes?: unknown[]): QueryPart; static selectMany(selector: Func1, scopes?: unknown[]): QueryPart; static sequenceEqual(other: T[], comparer?: Func2, scopes?: unknown[]): QueryPart; static single(predicate?: Predicate, scopes?: unknown[]): QueryPart; static singleOrDefault(predicate?: Predicate, scopes?: unknown[]): QueryPart; static skip(count: number): QueryPart; static skipWhile(predicate: Predicate, scopes?: unknown[]): QueryPart; static sum(selector?: Func1, scopes?: unknown[]): QueryPart; static take(count: number): QueryPart; static takeWhile(predicate: Predicate, scopes?: unknown[]): QueryPart; static thenBy(keySelector: Func1, scopes?: unknown[]): QueryPart; static thenByDescending(keySelector: Func1, scopes?: unknown[]): QueryPart; static union(other: T[], comparer?: Func2, scopes?: unknown[]): QueryPart; static where(predicate: Predicate, scopes?: unknown[]): QueryPart; static zip(other: TOther[], selector: Func2, scopes?: unknown[]): QueryPart; static toArray(): QueryPart; private static createJoin; private readonly _type; get type(): string; private readonly _args; get args(): IPartArgument[]; private readonly _scopes; get scopes(): unknown[]; constructor(type: string, args?: IPartArgument[], scopes?: any[]); } export declare const QueryFunc: { aggregate: string; all: string; any: string; average: string; cast: string; concat: string; contains: string; count: string; defaultIfEmpty: string; distinct: string; elementAt: string; elementAtOrDefault: string; except: string; first: string; firstOrDefault: string; groupBy: string; groupJoin: string; inlineCount: string; intersect: string; join: string; last: string; lastOrDefault: string; max: string; min: string; ofGuardedType: string; ofType: string; orderBy: string; orderByDescending: string; reverse: string; select: string; selectMany: string; sequenceEqual: string; single: string; singleOrDefault: string; skip: string; skipWhile: string; sum: string; take: string; takeWhile: string; thenBy: string; thenByDescending: string; toArray: string; union: string; where: string; zip: string; };