21 lines
802 B
TypeScript
21 lines
802 B
TypeScript
import type { OperationNodeSource } from '../operation-node/operation-node-source.js';
|
|
import { CommonTableExpressionNode } from '../operation-node/common-table-expression-node.js';
|
|
export declare class CTEBuilder<N extends string> implements OperationNodeSource {
|
|
#private;
|
|
constructor(props: CTEBuilderProps);
|
|
/**
|
|
* Makes the common table expression materialized.
|
|
*/
|
|
materialized(): CTEBuilder<N>;
|
|
/**
|
|
* Makes the common table expression not materialized.
|
|
*/
|
|
notMaterialized(): CTEBuilder<N>;
|
|
toOperationNode(): CommonTableExpressionNode;
|
|
}
|
|
interface CTEBuilderProps {
|
|
readonly node: CommonTableExpressionNode;
|
|
}
|
|
export type CTEBuilderCallback<N extends string> = (cte: <N2 extends string>(name: N2) => CTEBuilder<N2>) => CTEBuilder<N>;
|
|
export {};
|