/opt/canhelp/node_modules/kysely/dist/cjs/operation-node
Edit: /opt/canhelp/node_modules/kysely/dist/cjs/operation-node/aggregate-function-node.d.ts (1585B)
import type { OperationNode } from './operation-node.js';
import type { OverNode } from './over-node.js';
import { WhereNode } from './where-node.js';
import { OrderByNode } from './order-by-node.js';
import type { OrderByItemNode } from './order-by-item-node.js';
export interface AggregateFunctionNode extends OperationNode {
readonly kind: 'AggregateFunctionNode';
readonly func: string;
readonly aggregated: readonly OperationNode[];
readonly distinct?: boolean;
readonly orderBy?: OrderByNode;
readonly withinGroup?: OrderByNode;
readonly filter?: WhereNode;
readonly over?: OverNode;
}
type AggregateFunctionNodeFactory = Readonly<{
is(node: OperationNode): node is AggregateFunctionNode;
create(aggregateFunction: string, aggregated?: readonly OperationNode[]): Readonly
;
cloneWithDistinct(aggregateFunctionNode: AggregateFunctionNode): Readonly;
cloneWithOrderBy(aggregateFunctionNode: AggregateFunctionNode, orderItems: ReadonlyArray, withinGroup?: boolean): Readonly;
cloneWithFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): Readonly;
cloneWithOrFilter(aggregateFunctionNode: AggregateFunctionNode, filter: OperationNode): Readonly;
cloneWithOver(aggregateFunctionNode: AggregateFunctionNode, over?: OverNode): Readonly;
}>;
/**
* @internal
*/
export declare const AggregateFunctionNode: AggregateFunctionNodeFactory;
export {};