import type { Encoded, Formatter } from "@tai-kun/surrealdb/formatter"; import type { SlotLike } from "@tai-kun/surrealdb/types"; export interface SlotOptions { readonly parse?: ((value: unknown) => TValue) | undefined; readonly formatter?: Formatter | undefined; readonly defaultValue?: TValue | Encoded; } export default class Slot implements SlotLike { readonly name: TName; readonly isRequired: TRequired; protected readonly fmt?: Formatter; readonly _parse: (value: unknown) => TValue; readonly defaultValue?: TValue | Encoded; constructor(name: TName, isRequired: TRequired, options?: SlotOptions); protected toOptions(): SlotOptions; /** * @alias {@link type} */ as(): Slot; /** * @alias {@link type} */ as(parser: (value: unknown) => TBind): Slot; /** * @alias {@link as} */ type(): Slot; /** * @alias {@link as} */ type(parser: (value: unknown) => TBind): Slot; rename(name: TName): Slot; default(defaultValue: TValue): Slot; optional(): Slot; required(): Slot; } //# sourceMappingURL=slot.d.ts.map