import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
import type { ColumnBaseConfig } from "../../column.js";
import { entityKind } from "../../entity.js";
import { MsSqlColumn, MsSqlColumnBuilder } from "./common.js";
export type MsSqlVarBinaryBuilderInitial<TName extends string> = MsSqlVarBinaryBuilder<{
    name: TName;
    dataType: 'buffer';
    columnType: 'MsSqlVarBinary';
    data: Buffer;
    driverParam: Buffer;
    enumValues: undefined;
    generated: undefined;
}>;
export declare class MsSqlVarBinaryBuilder<T extends ColumnBuilderBaseConfig<'buffer', 'MsSqlVarBinary'>> extends MsSqlColumnBuilder<T, MsSqlVarbinaryOptions> {
    static readonly [entityKind]: string;
}
export declare class MsSqlVarBinary<T extends ColumnBaseConfig<'buffer', 'MsSqlVarBinary'>> extends MsSqlColumn<T, MsSqlVarbinaryOptions> {
    static readonly [entityKind]: string;
    length: number | 'max' | undefined;
    getSQLType(): string;
}
export interface MsSqlVarbinaryOptions {
    length: number | 'max';
}
export declare function varbinary(): MsSqlVarBinaryBuilderInitial<''>;
export declare function varbinary(config: MsSqlVarbinaryOptions): MsSqlVarBinaryBuilderInitial<''>;
export declare function varbinary<TName extends string>(name: TName, config?: MsSqlVarbinaryOptions): MsSqlVarBinaryBuilderInitial<TName>;
