Libraries v5.0.0
    Preparing search index...

    Interface VariantDbSet<TEntity, K, P>

    A DbSet-like handle scoped to a single polymorphic variant (one branch of a discriminated union entity). All reads are automatically pre-filtered by the discriminator; all writes apply the correct STI / CTI logic.

    Obtain via DbSet.ofVariant('key') — analogous to EF Core's Set<DerivedType>().

    interface VariantDbSet<
        TEntity extends Entity<any, any, any>,
        K extends string,
        P extends ParameterState = [],
    > {
        "[PARAMETER_READER]": VariantParameterReader;
        "[PARAMETER_STATE]": P;
        "[READ_QUERY]": true;
        limit: (...args: [count: number]) => QueryView<VariantDbSet<TEntity, K, P>>;
        offset: (
            ...args: [count: number],
        ) => QueryView<VariantDbSet<TEntity, K, P>>;
        onlyDeleted: (...args: []) => QueryView<VariantDbSet<TEntity, K, P>>;
        orderBy: (
            ...args: [
                selector: | Selector<EntitySchema<TEntity>>
                | keyof ReadColumns<
                    EntitySchema<TEntity>,
                    keyof ReadRelations<EntitySchema<TEntity>>,
                > & string,
                direction?: "desc" | "asc",
            ],
        ) => QueryView<VariantDbSet<TEntity, K, P>>;
        orderByRaw: (
            ...args: [
                sql: string,
                bindings?: readonly RawBinding[] & {
                    "[unscopables]": {
                        "[iterator]"?: boolean;
                        "[unscopables]"?: boolean;
                        at?: boolean;
                        concat?: boolean;
                        entries?: boolean;
                        every?: boolean;
                        filter?: boolean;
                        find?: boolean;
                        findIndex?: boolean;
                        flat?: boolean;
                        flatMap?: boolean;
                        forEach?: boolean;
                        includes?: boolean;
                        indexOf?: boolean;
                        join?: boolean;
                        keys?: boolean;
                        lastIndexOf?: boolean;
                        length?: boolean;
                        map?: boolean;
                        reduce?: boolean;
                        reduceRight?: boolean;
                        slice?: boolean;
                        some?: boolean;
                        toLocaleString?: boolean;
                        toString?: boolean;
                        values?: boolean;
                        readonly [key: number]: boolean
                        | undefined;
                    };
                    length: number;
                    "[iterator]"(): ArrayIterator<
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    >;
                    at(
                        index: number,
                    ):
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null
                        | undefined;
                    concat(
                        ...items: ConcatArray<
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        >[],
                    ): (
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null
                    )[];
                    concat(
                        ...items: (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | ConcatArray<
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<(...)>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            >
                            | null
                        )[],
                    ): (
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null
                    )[];
                    entries(): ArrayIterator<
                        [
                            number,
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        ],
                    >;
                    every<
                        S extends
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    >(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => value is S,
                        thisArg?: any,
                    ): this is readonly S[];
                    every(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => unknown,
                        thisArg?: any,
                    ): boolean;
                    filter<
                        S extends
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    >(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => value is S,
                        thisArg?: any,
                    ): S[];
                    filter(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => unknown,
                        thisArg?: any,
                    ): (
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null
                    )[];
                    find<
                        S extends
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    >(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            obj: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => value is S,
                        thisArg?: any,
                    ): S | undefined;
                    find(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            obj: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => unknown,
                        thisArg?: any,
                    ):
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null
                        | undefined;
                    findIndex(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            obj: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => unknown,
                        thisArg?: any,
                    ): number;
                    flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
                    flatMap<U, This = undefined>(
                        callback: (
                            this: This,
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => U | readonly U[],
                        thisArg?: This,
                    ): U[];
                    forEach(
                        callbackfn: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => void,
                        thisArg?: any,
                    ): void;
                    includes(
                        searchElement:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        fromIndex?: number,
                    ): boolean;
                    indexOf(
                        searchElement:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        fromIndex?: number,
                    ): number;
                    join(separator?: string): string;
                    keys(): ArrayIterator<number>;
                    lastIndexOf(
                        searchElement:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        fromIndex?: number,
                    ): number;
                    map<U>(
                        callbackfn: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => U,
                        thisArg?: any,
                    ): U[];
                    reduce(
                        callbackfn: (
                            previousValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentIndex: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) =>
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    ):
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null;
                    reduce(
                        callbackfn: (
                            previousValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentIndex: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) =>
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        initialValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    ):
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null;
                    reduce<U>(
                        callbackfn: (
                            previousValue: U,
                            currentValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentIndex: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => U,
                        initialValue: U,
                    ): U;
                    reduceRight(
                        callbackfn: (
                            previousValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentIndex: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) =>
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    ):
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null;
                    reduceRight(
                        callbackfn: (
                            previousValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentIndex: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) =>
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        initialValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                    ):
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null;
                    reduceRight<U>(
                        callbackfn: (
                            previousValue: U,
                            currentValue:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            currentIndex: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => U,
                        initialValue: U,
                    ): U;
                    slice(
                        start?: number,
                        end?: number,
                    ): (
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null
                    )[];
                    some(
                        predicate: (
                            value:
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null,
                            index: number,
                            array: readonly (
                                | string
                                | number
                                | boolean
                                | string[]
                                | number[]
                                | Date
                                | boolean[]
                                | Date[]
                                | Buffer<ArrayBufferLike>
                                | Buffer<ArrayBufferLike>[]
                                | Raw<any>
                                | QueryBuilder<any, any>
                                | { [key: string]: unknown }
                                | null
                            )[],
                        ) => unknown,
                        thisArg?: any,
                    ): boolean;
                    toLocaleString(): string;
                    toLocaleString(
                        locales: string | string[],
                        options?: NumberFormatOptions & DateTimeFormatOptions,
                    ): string;
                    toString(): string;
                    values(): ArrayIterator<
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    >;
                    readonly [n: number]:
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null;
                },
            ],
        ) => QueryView<VariantDbSet<TEntity, K, P>>;
        returnsEntityRows: boolean;
        rowSchema: PolymorphicRowSchema<
            Pick<
                VariantReadSchemas<EntitySchema<TEntity>>,
                Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
            >,
        >;
        scoped: (...args: [name: string]) => QueryView<VariantDbSet<TEntity, K, P>>;
        transacting: (
            ...args: [trx: Transaction<any, any[]>],
        ) => QueryView<VariantDbSet<TEntity, K, P>>;
        unscoped: (...args: []) => QueryView<VariantDbSet<TEntity, K, P>>;
        variantRowSchemas: Readonly<B>;
        withDeleted: (...args: []) => QueryView<VariantDbSet<TEntity, K, P>>;
        "[COMPILED_READER]"(): CompiledReader;
        andWhere<
            G extends
                ReadPredicateBuilder<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    any,
                >,
        >(
            group: ReadPredicateGroup<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                G & CheckParameterState<
                    AppendOrigins<P, ParametersOf<NoInfer<G>>, "root">,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                AppendOrigins<P, ParametersOf<G>, "root"> extends ParameterState
                    ? ParameterState & AppendOrigins<P, ParametersOf<G>, "root">
                    : never,
            >,
            true,
        >;
        andWhere<
            const V extends
                Partial<
                    Record<
                        keyof ReadColumns<
                            EntitySchema<TEntity>,
                            keyof EntityRelations<TEntity>,
                        >,
                        unknown,
                    >,
                >,
        >(
            values: V & WithoutParameters<NoInfer<V>>,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        andWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        andWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            operator: string,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        apply<O extends ReadObject>(
            configure: (query: QueryBuilder) => QueryBuilder<any, any> | undefined,
            options: QueryOutput<O>,
        ): OpaqueQuery<O>;
        compile(
            correlate?: ReadCorrelation,
            mode?: typeof COMPILE_PARAMETERS,
        ): QueryBuilder;
        countValue(): Promise<number>;
        decode(
            row: any,
            path?: string,
        ): InferType<
            Pick<
                VariantReadSchemas<EntitySchema<TEntity>>,
                Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
            >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
        > extends undefined
            ? never
            : InferType<
                Pick<
                    VariantReadSchemas<EntitySchema<TEntity>>,
                    Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
            >;
        delete(): Promise<void>;
        execute(): Promise<
            (
                InferType<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                > extends undefined
                    ? never
                    : InferType<
                        Pick<
                            VariantReadSchemas<EntitySchema<TEntity>>,
                            Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                        >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                    >
            )[],
        >;
        find(
            pk: PrimaryKeyValueOf<EntitySchema<TEntity>>,
        ): Promise<VariantResult<TEntity, K> | undefined>;
        findMany(
            pks: readonly PrimaryKeyValueOf<EntitySchema<TEntity>>[],
        ): Promise<VariantResult<TEntity, K>[]>;
        findOrFail(
            pk: PrimaryKeyValueOf<EntitySchema<TEntity>>,
        ): Promise<VariantResult<TEntity, K>>;
        first(): Promise<
            | (
                InferType<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                > extends undefined
                    ? never
                    : InferType<
                        Pick<
                            VariantReadSchemas<EntitySchema<TEntity>>,
                            Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                        >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                    >
            )
            | undefined,
        >;
        forVariant<K extends string, Q extends ReadQueryShape<ReadObject>>(
            key: K,
            configure: (
                query: BranchQueries<
                    EntitySchema<TEntity>,
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >,
                    P,
                    true,
                >[K],
            ) => Q & CheckParameterState<
                AppendOrigins<
                    ReplaceOrigins<P, ParametersOf<NoInfer<Q>>, `variant:${K}`>,
                    ParametersOf<NoInfer<Q>>,
                    `variant:${K}`,
                >,
            >,
        ): QueryView<
            PolymorphicQueryBuilder<
                EntitySchema<TEntity>,
                Omit<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >,
                    K,
                > & Record<K, Q["rowSchema"]>,
                AppendOrigins<
                    ReplaceOrigins<P, ParametersOf<Q>, `variant:${K}`>,
                    ParametersOf<Q>,
                    `variant:${K}`,
                >,
                true,
            >,
            true,
        >;
        hardDelete(): Promise<number>;
        include<
            K extends string,
            Child extends
                ReadQueryShape<ReadSchema> = ReadVariantMetadata<
                Related<ReadRelations<EntitySchema<TEntity>>[K]>,
            > extends { discriminator: string; variants: Record<string, unknown> }
                ? PolymorphicQueryBuilder<
                    Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                    VariantReadSchemas<Related<ReadRelations<EntitySchema<TEntity>>[K]>>,
                    [],
                    true,
                >
                : SchemaQueryBuilder<
                    Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                    ObjectReadSchema<
                        Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                        keyof ReadRelations<Related<ReadRelations<EntitySchema<TEntity>>[K]>>,
                    >,
                    ReadRelations<Related<ReadRelations<EntitySchema<TEntity>>[K]>>,
                    true,
                    [],
                    true,
                >,
        >(
            selector:
                | K
                | ((relations: { [P in string | number | symbol]: P }) => K),
            customize?: (
                query: ReadVariantMetadata<
                    Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                > extends { discriminator: string; variants: Record<string, unknown> }
                    ? PolymorphicQueryBuilder<
                        Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                        VariantReadSchemas<Related<ReadRelations<EntitySchema<TEntity>>[K]>>,
                        [],
                        true,
                    >
                    : SchemaQueryBuilder<
                        Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                        ObjectReadSchema<
                            Related<ReadRelations<EntitySchema<TEntity>>[K]>,
                            keyof ReadRelations<Related<ReadRelations<EntitySchema<(...)>>[K]>>,
                        >,
                        ReadRelations<Related<ReadRelations<EntitySchema<TEntity>>[K]>>,
                        true,
                        [],
                        true,
                    >,
            ) => Child & CheckParameterState<
                AppendOrigins<
                    ReplaceOrigins<P, ParametersOf<NoInfer<Child>>, `relation:${K}`>,
                    ParametersOf<NoInfer<Child>>,
                    `relation:${K}`,
                >,
            >,
        ): QueryView<
            PolymorphicQueryBuilder<
                EntitySchema<TEntity>,
                {
                    [P in string]: ObjectSchemaBuilder<
                        SchemaProps<
                            Pick<
                                VariantReadSchemas<EntitySchema<TEntity>>,
                                Extract<K, keyof VariantReadSchemas<(...)>>,
                            >[P],
                        > & {
                            -readonly [R in string]-?: RelationField<
                                ReadRelations<EntitySchema<TEntity>>[K],
                                Child["rowSchema"],
                            >
                        },
                        true,
                        false,
                        undefined,
                        false,
                        {},
                        [],
                    >
                },
                AppendOrigins<
                    ReplaceOrigins<P, ParametersOf<Child>, `relation:${K}`>,
                    ParametersOf<Child>,
                    `relation:${K}`,
                >,
                true,
            >,
            true,
        >;
        includeVariant<
            K extends string,
            R extends string,
            Child extends
                ReadQueryShape<ReadSchema> = VariantRelationQuery<
                EntitySchema<TEntity>,
                K,
                R,
                true,
            >,
        >(
            key: K,
            relation: R,
            customize?: (
                query: VariantRelationQuery<EntitySchema<TEntity>, K, R, true>,
            ) => Child & CheckParameterState<
                AppendOrigins<P, ParametersOf<NoInfer<Child>>, "root">,
            >,
        ): QueryView<
            PolymorphicQueryBuilder<
                EntitySchema<TEntity>,
                R extends | keyof ReadRelations<EntitySchema<TEntity>>
                | keyof ReadRelations<VariantBody<EntitySchema<TEntity>, K>>
                    ? Omit<
                        Pick<
                            VariantReadSchemas<EntitySchema<TEntity>>,
                            Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                        >,
                        K,
                    > & Record<
                        K,
                        ObjectSchemaBuilder<
                            SchemaProps<
                                Pick<VariantReadSchemas<(...)>, Extract<(...), (...)>>[K],
                            > & {
                                -readonly [F in string]-?: RelationField<
                                    ((...) & (...))[F],
                                    Child["rowSchema"],
                                >
                            },
                            true,
                            false,
                            undefined,
                            false,
                            {},
                            [],
                        >,
                    >
                    : Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >,
                AppendOrigins<
                    ReplaceOrigins<
                        P,
                        AppendOrigins<
                            ScopedParameters<P, `variant:${K}`>,
                            ParametersOf<Child>,
                            "root",
                        >,
                        `variant:${K}`,
                    >,
                    AppendOrigins<
                        ScopedParameters<P, `variant:${K}`>,
                        ParametersOf<Child>,
                        "root",
                    >,
                    `variant:${K}`,
                >,
                true,
            >,
            true,
        >;
        insert(
            payload: VariantInsertPayload<TEntity, K>,
        ): Promise<VariantResult<TEntity, K>>;
        mutationTargets(variantKey: string): QueryBuilder;
        orWhere<
            G extends
                ReadPredicateBuilder<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    any,
                >,
        >(
            group: ReadPredicateGroup<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                G & CheckParameterState<
                    AppendOrigins<P, ParametersOf<NoInfer<G>>, "root">,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                AppendOrigins<P, ParametersOf<G>, "root"> extends ParameterState
                    ? ParameterState & AppendOrigins<P, ParametersOf<G>, "root">
                    : never,
            >,
            true,
        >;
        orWhere<
            const V extends
                Partial<
                    Record<
                        keyof ReadColumns<
                            EntitySchema<TEntity>,
                            keyof EntityRelations<TEntity>,
                        >,
                        unknown,
                    >,
                >,
        >(
            values: V & WithoutParameters<NoInfer<V>>,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        orWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        orWhere<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            operator: string,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        orWhereExists(
            query: QueryBuilder,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        orWhereIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        orWhereNotExists(
            query: QueryBuilder,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        orWhereNotIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        orWhereNotNull(
            column: ReadPredicateSelector<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
            >,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        orWhereNull(
            column: ReadPredicateSelector<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
            >,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        orWhereRaw<const A extends readonly RawBinding[]>(
            sql: string,
            bindings: A & WithoutParameters<NoInfer<A>>,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        orWhereRaw(
            sql: string,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        paginate(
            __namedParameters: { page: number; pageSize: number },
        ): Promise<
            PaginationResult<
                InferType<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                > extends undefined
                    ? never
                    : InferType<
                        Pick<
                            VariantReadSchemas<EntitySchema<TEntity>>,
                            Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                        >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                    >,
            >,
        >;
        pluck<K extends string | number | symbol>(
            key: K,
        ): Promise<
            (
                InferType<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<(...)>>>,
                    >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                > extends undefined
                    ? never
                    : InferType<
                        Pick<
                            VariantReadSchemas<EntitySchema<TEntity>>,
                            Extract<K, keyof VariantReadSchemas<EntitySchema<(...)>>>,
                        >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                    >
            )[K][],
        >;
        ref(
            selector: ReadPredicateSelector<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
            >,
        ): Raw<any> | Ref<string, {}>;
        restore(): Promise<VariantResult<TEntity, K>[]>;
        sameSource(other: unknown): boolean;
        selectRaw<O extends ReadObject>(
            sql: string,
            bindings: readonly RawBinding[],
            options: QueryOutput<O>,
        ): OpaqueQuery<O>;
        selectVariants<
            const K extends
                readonly (
                    Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>> & string
                )[],
        >(
            keys: K,
        ): QueryView<
            PolymorphicQueryBuilder<
                EntitySchema<TEntity>,
                Pick<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >,
                    K[number],
                >,
                SelectParameterVariants<P, K[number]>,
                true,
            >,
            true,
        >;
        then<
            T = (
                InferType<
                    Pick<
                        VariantReadSchemas<EntitySchema<TEntity>>,
                        Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                    >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                > extends undefined
                    ? never
                    : InferType<
                        Pick<
                            VariantReadSchemas<EntitySchema<TEntity>>,
                            Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                        >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                    >
            )[],
            E = never,
        >(
            resolve?:
                | (
                    (
                        rows: (
                            InferType<
                                Pick<
                                    VariantReadSchemas<EntitySchema<TEntity>>,
                                    Extract<K, keyof VariantReadSchemas<EntitySchema<(...)>>>,
                                >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                            > extends undefined
                                ? never
                                : InferType<
                                    Pick<
                                        VariantReadSchemas<EntitySchema<TEntity>>,
                                        Extract<K, keyof VariantReadSchemas<EntitySchema<(...)>>>,
                                    >[Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>],
                                >
                        )[],
                    ) => T | PromiseLike<T>
                )
                | null,
            reject?: ((error: any) => E | PromiseLike<E>) | null,
        ): Promise<T | E>;
        toKnexQuery(): QueryBuilder;
        toQuery(): string;
        update(patch: VariantUpdatePayload<TEntity, K>): Promise<void>;
        where<
            G extends
                ReadPredicateBuilder<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    any,
                >,
        >(
            group: ReadPredicateGroup<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                G & CheckParameterState<
                    AppendOrigins<P, ParametersOf<NoInfer<G>>, "root">,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                AppendOrigins<P, ParametersOf<G>, "root"> extends ParameterState
                    ? ParameterState & AppendOrigins<P, ParametersOf<G>, "root">
                    : never,
            >,
            true,
        >;
        where<
            const V extends
                Partial<
                    Record<
                        keyof ReadColumns<
                            EntitySchema<TEntity>,
                            keyof EntityRelations<TEntity>,
                        >,
                        unknown,
                    >,
                >,
        >(
            values: V & WithoutParameters<NoInfer<V>>,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        where<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        where<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            operator: string,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereBetween<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends readonly [unknown, unknown],
        >(
            column: S,
            range: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereExists(
            query: QueryBuilder,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereILike<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A,
        >(
            column: S,
            value: A & (
                A extends QueryParameter<string>
                    ? CheckParameterValue<
                        P,
                        NoInfer<A>,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : string
            ),
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereJsonPath<A>(
            column: ReadPredicateSelector<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
            >,
            path: string,
            operator?: string,
            value?: A & WithoutParameters<NoInfer<A>>,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereLike<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & (
                A extends QueryParameter<string>
                    ? CheckParameterValue<
                        P,
                        NoInfer<A>,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : string
            ),
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereNot<S extends string | ((columns: C) => AliasedColumn<any>), const A>(
            column: S,
            value: A & CheckScalarParameter<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereNotBetween<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends readonly [unknown, unknown],
        >(
            column: S,
            range: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereNotExists(
            query: QueryBuilder,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereNotIn<
            S extends string
            | ((columns: C) => AliasedColumn<any>),
            const A extends ReadMembership,
        >(
            column: S,
            values: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<
                    ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                    S,
                >,
            >,
        ): QueryView<
            VariantDbSet<
                TEntity,
                K,
                ValueParameters<
                    P,
                    A,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                > extends ParameterState
                    ? ParameterState & ValueParameters<
                        P,
                        A,
                        PredicateValue<
                            ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                            S,
                        >,
                    >
                    : never,
            >,
            true,
        >;
        whereNotNull(
            column: ReadPredicateSelector<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
            >,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereNull(
            column: ReadPredicateSelector<
                ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
            >,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereRaw<const A extends readonly RawBinding[]>(
            sql: string,
            bindings: A & WithoutParameters<NoInfer<A>>,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereRaw(
            sql: string,
        ): QueryView<
            VariantDbSet<TEntity, K, P extends ParameterState ? P : never>,
            true,
        >;
        whereVariant<
            K extends string,
            Sel extends string | ((columns: C) => AliasedColumn<any>),
            const A,
        >(
            key: K,
            selector: Sel,
            operator: string,
            value: A & CheckParameterValue<
                P,
                NoInfer<A>,
                PredicateValue<ReadColumns<BranchSource<EntitySchema<TEntity>, K>>, Sel>,
            >,
        ): QueryView<
            PolymorphicQueryBuilder<
                EntitySchema<TEntity>,
                Pick<
                    VariantReadSchemas<EntitySchema<TEntity>>,
                    Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                >,
                AppendOrigins<
                    ReplaceOrigins<
                        P,
                        ValueParameters<
                            ScopedParameters<P, `variant:${K}`>,
                            A,
                            PredicateValue<
                                ReadColumns<BranchSource<EntitySchema<TEntity>, K>>,
                                Sel,
                            >,
                        >,
                        `variant:${K}`,
                    >,
                    ValueParameters<
                        ScopedParameters<P, `variant:${K}`>,
                        A,
                        PredicateValue<
                            ReadColumns<BranchSource<EntitySchema<TEntity>, K>>,
                            Sel,
                        >,
                    >,
                    `variant:${K}`,
                >,
                true,
            >,
            true,
        >;
        withTransaction(trx: Transaction): QueryView<VariantDbSet<TEntity, K, P>>;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index
    "[PARAMETER_READER]": VariantParameterReader

    Type-only fluent return constructor.

    "[PARAMETER_STATE]": P

    Type-only ordered argument contract.

    "[READ_QUERY]": true

    Nominal identity for typed child-query customizers.

    limit: (...args: [count: number]) => QueryView<VariantDbSet<TEntity, K, P>>
    offset: (...args: [count: number]) => QueryView<VariantDbSet<TEntity, K, P>>
    onlyDeleted: (...args: []) => QueryView<VariantDbSet<TEntity, K, P>>
    orderBy: (
        ...args: [
            selector: | Selector<EntitySchema<TEntity>>
            | keyof ReadColumns<
                EntitySchema<TEntity>,
                keyof ReadRelations<EntitySchema<TEntity>>,
            > & string,
            direction?: "desc" | "asc",
        ],
    ) => QueryView<VariantDbSet<TEntity, K, P>>
    orderByRaw: (
        ...args: [
            sql: string,
            bindings?: readonly RawBinding[] & {
                "[unscopables]": {
                    "[iterator]"?: boolean;
                    "[unscopables]"?: boolean;
                    at?: boolean;
                    concat?: boolean;
                    entries?: boolean;
                    every?: boolean;
                    filter?: boolean;
                    find?: boolean;
                    findIndex?: boolean;
                    flat?: boolean;
                    flatMap?: boolean;
                    forEach?: boolean;
                    includes?: boolean;
                    indexOf?: boolean;
                    join?: boolean;
                    keys?: boolean;
                    lastIndexOf?: boolean;
                    length?: boolean;
                    map?: boolean;
                    reduce?: boolean;
                    reduceRight?: boolean;
                    slice?: boolean;
                    some?: boolean;
                    toLocaleString?: boolean;
                    toString?: boolean;
                    values?: boolean;
                    readonly [key: number]: boolean
                    | undefined;
                };
                length: number;
                "[iterator]"(): ArrayIterator<
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null,
                >;
                at(
                    index: number,
                ):
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null
                    | undefined;
                concat(
                    ...items: ConcatArray<
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    >[],
                ): (
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null
                )[];
                concat(
                    ...items: (
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | ConcatArray<
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<(...)>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        >
                        | null
                    )[],
                ): (
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null
                )[];
                entries(): ArrayIterator<
                    [
                        number,
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    ],
                >;
                every<
                    S extends
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                >(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => value is S,
                    thisArg?: any,
                ): this is readonly S[];
                every(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => unknown,
                    thisArg?: any,
                ): boolean;
                filter<
                    S extends
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                >(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => value is S,
                    thisArg?: any,
                ): S[];
                filter(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => unknown,
                    thisArg?: any,
                ): (
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null
                )[];
                find<
                    S extends
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                >(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        obj: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => value is S,
                    thisArg?: any,
                ): S | undefined;
                find(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        obj: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => unknown,
                    thisArg?: any,
                ):
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null
                    | undefined;
                findIndex(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        obj: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => unknown,
                    thisArg?: any,
                ): number;
                flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
                flatMap<U, This = undefined>(
                    callback: (
                        this: This,
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => U | readonly U[],
                    thisArg?: This,
                ): U[];
                forEach(
                    callbackfn: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => void,
                    thisArg?: any,
                ): void;
                includes(
                    searchElement:
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    fromIndex?: number,
                ): boolean;
                indexOf(
                    searchElement:
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    fromIndex?: number,
                ): number;
                join(separator?: string): string;
                keys(): ArrayIterator<number>;
                lastIndexOf(
                    searchElement:
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    fromIndex?: number,
                ): number;
                map<U>(
                    callbackfn: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => U,
                    thisArg?: any,
                ): U[];
                reduce(
                    callbackfn: (
                        previousValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentIndex: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) =>
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                ):
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null;
                reduce(
                    callbackfn: (
                        previousValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentIndex: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) =>
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    initialValue:
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                ):
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null;
                reduce<U>(
                    callbackfn: (
                        previousValue: U,
                        currentValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentIndex: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => U,
                    initialValue: U,
                ): U;
                reduceRight(
                    callbackfn: (
                        previousValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentIndex: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) =>
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                ):
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null;
                reduceRight(
                    callbackfn: (
                        previousValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentIndex: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) =>
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                    initialValue:
                        | string
                        | number
                        | boolean
                        | string[]
                        | number[]
                        | Date
                        | boolean[]
                        | Date[]
                        | Buffer<ArrayBufferLike>
                        | Buffer<ArrayBufferLike>[]
                        | Raw<any>
                        | QueryBuilder<any, any>
                        | { [key: string]: unknown }
                        | null,
                ):
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null;
                reduceRight<U>(
                    callbackfn: (
                        previousValue: U,
                        currentValue:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        currentIndex: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => U,
                    initialValue: U,
                ): U;
                slice(
                    start?: number,
                    end?: number,
                ): (
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null
                )[];
                some(
                    predicate: (
                        value:
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null,
                        index: number,
                        array: readonly (
                            | string
                            | number
                            | boolean
                            | string[]
                            | number[]
                            | Date
                            | boolean[]
                            | Date[]
                            | Buffer<ArrayBufferLike>
                            | Buffer<ArrayBufferLike>[]
                            | Raw<any>
                            | QueryBuilder<any, any>
                            | { [key: string]: unknown }
                            | null
                        )[],
                    ) => unknown,
                    thisArg?: any,
                ): boolean;
                toLocaleString(): string;
                toLocaleString(
                    locales: string | string[],
                    options?: NumberFormatOptions & DateTimeFormatOptions,
                ): string;
                toString(): string;
                values(): ArrayIterator<
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null,
                >;
                readonly [n: number]:
                    | string
                    | number
                    | boolean
                    | string[]
                    | number[]
                    | Date
                    | boolean[]
                    | Date[]
                    | Buffer<ArrayBufferLike>
                    | Buffer<ArrayBufferLike>[]
                    | Raw<any>
                    | QueryBuilder<any, any>
                    | { [key: string]: unknown }
                    | null;
            },
        ],
    ) => QueryView<VariantDbSet<TEntity, K, P>>
    returnsEntityRows: boolean
    rowSchema: PolymorphicRowSchema<
        Pick<
            VariantReadSchemas<EntitySchema<TEntity>>,
            Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
        >,
    >

    Runtime union matching decoded results, including selected variant bodies.

    scoped: (...args: [name: string]) => QueryView<VariantDbSet<TEntity, K, P>>
    transacting: (
        ...args: [trx: Transaction<any, any[]>],
    ) => QueryView<VariantDbSet<TEntity, K, P>>
    unscoped: (...args: []) => QueryView<VariantDbSet<TEntity, K, P>>
    variantRowSchemas: Readonly<B>

    Stable object schemas keyed by discriminator, suitable for mapper.configure().

    withDeleted: (...args: []) => QueryView<VariantDbSet<TEntity, K, P>>
    • Internal

      Shared parameter plan across union branches and included relations.

      Returns CompiledReader

    • Configure a captured union SELECT and declare its complete raw output shape.

      Type Parameters

      Parameters

      • configure: (query: QueryBuilder) => QueryBuilder<any, any> | undefined
      • options: QueryOutput<O>

      Returns OpaqueQuery<O>

    • Internal

      Compile one UNION ALL statement; JSON preserves distinct branch shapes.

      Parameters

      • Optionalcorrelate: ReadCorrelation
      • Optionalmode: typeof COMPILE_PARAMETERS

      Returns QueryBuilder

    • Count matching rows across variants, excluding global pagination and ordering.

      Returns Promise<number>

    • Delete matching entities, honoring base-schema soft deletion and hooks.

      Returns Promise<void>

    • Permanently delete matching entities, including both CTI rows.

      Returns Promise<number>

    • Customize a relation on one discriminator branch.

      Type Parameters

      Parameters

      Returns QueryView<
          PolymorphicQueryBuilder<
              EntitySchema<TEntity>,
              R extends | keyof ReadRelations<EntitySchema<TEntity>>
              | keyof ReadRelations<VariantBody<EntitySchema<TEntity>, K>>
                  ? Omit<
                      Pick<
                          VariantReadSchemas<EntitySchema<TEntity>>,
                          Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                      >,
                      K,
                  > & Record<
                      K,
                      ObjectSchemaBuilder<
                          SchemaProps<
                              Pick<VariantReadSchemas<(...)>, Extract<(...), (...)>>[K],
                          > & {
                              -readonly [F in string]-?: RelationField<
                                  ((...) & (...))[F],
                                  Child["rowSchema"],
                              >
                          },
                          true,
                          false,
                          undefined,
                          false,
                          {},
                          [],
                      >,
                  >
                  : Pick<
                      VariantReadSchemas<EntitySchema<TEntity>>,
                      Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
                  >,
              AppendOrigins<
                  ReplaceOrigins<
                      P,
                      AppendOrigins<
                          ScopedParameters<P, `variant:${K}`>,
                          ParametersOf<Child>,
                          "root",
                      >,
                      `variant:${K}`,
                  >,
                  AppendOrigins<
                      ScopedParameters<P, `variant:${K}`>,
                      ParametersOf<Child>,
                      "root",
                  >,
                  `variant:${K}`,
              >,
              true,
          >,
          true,
      >

    • Internal

      Capture native primary keys for a single writable ORM variant.

      Parameters

      • variantKey: string

      Returns QueryBuilder

    • Internal

      Check the identity of the original read source, retained by clones.

      Parameters

      • other: unknown

      Returns boolean

    • Select trusted SQL from the union envelope with an explicit output contract.

      Type Parameters

      Parameters

      • sql: string
      • bindings: readonly RawBinding[]
      • options: QueryOutput<O>

      Returns OpaqueQuery<O>

    • Return a separately mutable Knex snapshot of the union statement.

      Returns QueryBuilder

    • Render debugging SQL without performing any database calls.

      Returns string

    • Type Parameters

      • S extends string | ((columns: C) => AliasedColumn<any>)
      • const A extends readonly [unknown, unknown]

      Parameters

      Returns QueryView<
          VariantDbSet<
              TEntity,
              K,
              ValueParameters<
                  P,
                  A,
                  PredicateValue<
                      ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                      S,
                  >,
              > extends ParameterState
                  ? ParameterState & ValueParameters<
                      P,
                      A,
                      PredicateValue<
                          ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                          S,
                      >,
                  >
                  : never,
          >,
          true,
      >

    • Type Parameters

      Parameters

      • column: S
      • value: A & (
            A extends QueryParameter<string>
                ? CheckParameterValue<
                    P,
                    NoInfer<A>,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                >
                : string
        )

      Returns QueryView<
          VariantDbSet<
              TEntity,
              K,
              ValueParameters<
                  P,
                  A,
                  PredicateValue<
                      ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                      S,
                  >,
              > extends ParameterState
                  ? ParameterState & ValueParameters<
                      P,
                      A,
                      PredicateValue<
                          ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                          S,
                      >,
                  >
                  : never,
          >,
          true,
      >

    • Match a fixed value tuple or captured SELECT subquery.

      Type Parameters

      Parameters

      Returns QueryView<
          VariantDbSet<
              TEntity,
              K,
              ValueParameters<
                  P,
                  A,
                  PredicateValue<
                      ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                      S,
                  >,
              > extends ParameterState
                  ? ParameterState & ValueParameters<
                      P,
                      A,
                      PredicateValue<
                          ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                          S,
                      >,
                  >
                  : never,
          >,
          true,
      >

    • Type Parameters

      Parameters

      • column: S
      • value: A & (
            A extends QueryParameter<string>
                ? CheckParameterValue<
                    P,
                    NoInfer<A>,
                    PredicateValue<
                        ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                        S,
                    >,
                >
                : string
        )

      Returns QueryView<
          VariantDbSet<
              TEntity,
              K,
              ValueParameters<
                  P,
                  A,
                  PredicateValue<
                      ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                      S,
                  >,
              > extends ParameterState
                  ? ParameterState & ValueParameters<
                      P,
                      A,
                      PredicateValue<
                          ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                          S,
                      >,
                  >
                  : never,
          >,
          true,
      >

    • Negate equality while preserving ordinary SQL null semantics.

      Type Parameters

      Parameters

      Returns QueryView<
          VariantDbSet<
              TEntity,
              K,
              ValueParameters<
                  P,
                  A,
                  PredicateValue<
                      ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                      S,
                  >,
              > extends ParameterState
                  ? ParameterState & ValueParameters<
                      P,
                      A,
                      PredicateValue<
                          ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                          S,
                      >,
                  >
                  : never,
          >,
          true,
      >

    • Type Parameters

      • S extends string | ((columns: C) => AliasedColumn<any>)
      • const A extends readonly [unknown, unknown]

      Parameters

      Returns QueryView<
          VariantDbSet<
              TEntity,
              K,
              ValueParameters<
                  P,
                  A,
                  PredicateValue<
                      ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                      S,
                  >,
              > extends ParameterState
                  ? ParameterState & ValueParameters<
                      P,
                      A,
                      PredicateValue<
                          ReadColumns<EntitySchema<TEntity>, keyof EntityRelations<TEntity>>,
                          S,
                      >,
                  >
                  : never,
          >,
          true,
      >

    • Trusted SQL with concrete bindings; use a typed predicate for placeholders.

      Type Parameters

      • const A extends readonly RawBinding[]

      Parameters

      • sql: string
      • bindings: A & WithoutParameters<NoInfer<A>>

      Returns QueryView<VariantDbSet<TEntity, K, P extends ParameterState ? P : never>, true>

    • Trusted SQL with concrete bindings; use a typed predicate for placeholders.

      Parameters

      • sql: string

      Returns QueryView<VariantDbSet<TEntity, K, P extends ParameterState ? P : never>, true>

    • Filter one branch using schema property names; other variants remain unaffected.

      Type Parameters

      • K extends string
      • Sel extends string | ((columns: C) => AliasedColumn<any>)
      • const A

      Parameters

      Returns QueryView<
          PolymorphicQueryBuilder<
              EntitySchema<TEntity>,
              Pick<
                  VariantReadSchemas<EntitySchema<TEntity>>,
                  Extract<K, keyof VariantReadSchemas<EntitySchema<TEntity>>>,
              >,
              AppendOrigins<
                  ReplaceOrigins<
                      P,
                      ValueParameters<
                          ScopedParameters<P, `variant:${K}`>,
                          A,
                          PredicateValue<
                              ReadColumns<BranchSource<EntitySchema<TEntity>, K>>,
                              Sel,
                          >,
                      >,
                      `variant:${K}`,
                  >,
                  ValueParameters<
                      ScopedParameters<P, `variant:${K}`>,
                      A,
                      PredicateValue<ReadColumns<BranchSource<EntitySchema<TEntity>, K>>, Sel>,
                  >,
                  `variant:${K}`,
              >,
              true,
          >,
          true,
      >