## API Report File for "@datashaper/schema"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import Ajv from 'ajv';

// Warning: (ae-missing-release-tag) "AggregateArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AggregateArgs extends RollupArgs {
    groupby: string;
}

// Warning: (ae-missing-release-tag) "BasicInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface BasicInput {
    input?: WorkflowStepId | {
        source: WorkflowInput;
    };
}

// Warning: (ae-missing-release-tag) "Bin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface Bin {
    // (undocumented)
    count: number;
    // (undocumented)
    min: number | string;
}

// Warning: (ae-missing-release-tag) "BinArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BinArgs extends InputColumnArgs, OutputColumnArgs {
    clamped?: boolean;
    fixedcount?: number;
    fixedwidth?: number;
    max?: number;
    min?: number;
    nice?: boolean;
    printRange?: boolean;
    strategy: BinStrategy;
}

// Warning: (ae-missing-release-tag) "BinarizeArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BinarizeArgs extends FilterArgs, OutputColumnArgs {
}

// Warning: (ae-missing-release-tag) "BinStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum BinStrategy {
    // (undocumented)
    Auto = "auto",
    // (undocumented)
    Doane = "doane",
    // (undocumented)
    Fd = "fd",
    // (undocumented)
    FixedCount = "fixed count",
    // (undocumented)
    FixedWidth = "fixed width",
    // (undocumented)
    Rice = "rice",
    // (undocumented)
    Scott = "scott",
    // (undocumented)
    Sqrt = "sqrt",
    // (undocumented)
    Sturges = "sturges"
}

// Warning: (ae-missing-release-tag) "BooleanArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BooleanArgs extends InputColumnListArgs, OutputColumnArgs {
    operator: BooleanOperator;
}

// Warning: (ae-missing-release-tag) "BooleanComparisonOperator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum BooleanComparisonOperator {
    // (undocumented)
    Equals = "equals",
    // (undocumented)
    IsEmpty = "is empty",
    // (undocumented)
    IsFalse = "is false",
    // (undocumented)
    IsNotEmpty = "is not empty",
    // (undocumented)
    IsTrue = "is true",
    // (undocumented)
    NotEqual = "is not equal"
}

// Warning: (ae-missing-release-tag) "BooleanOperator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum BooleanOperator {
    AND = "and",
    NAND = "nand",
    NOR = "nor",
    OR = "or",
    XNOR = "xnor",
    XOR = "xor"
}

// Warning: (ae-missing-release-tag) "BundleSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface BundleSchema {
    // (undocumented)
    $schema: string;
    accepts: RelationshipConstraint[];
    profile?: string;
}

// Warning: (ae-missing-release-tag) "Category" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface Category {
    // (undocumented)
    count: number;
    // (undocumented)
    name: string;
}

// Warning: (ae-missing-release-tag) "CodebookSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface CodebookSchema extends ResourceSchema {
    fields: Field[];
    // (undocumented)
    profile: KnownProfile.Codebook;
}

// Warning: (ae-missing-release-tag) "CodebookStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum CodebookStrategy {
    DataTypeAndMapping = "data type and mapping",
    DataTypeOnly = "data type only",
    MappingOnly = "mapping only"
}

// Warning: (ae-missing-release-tag) "Constraints" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface Constraints {
    enum?: string[];
    maximum?: number;
    maxLength?: number;
    minimum?: number;
    minLength?: number;
    pattern?: string;
    required?: boolean;
    unique?: boolean;
}

// Warning: (ae-missing-release-tag) "ConvertArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ConvertArgs extends InputColumnArgs, OutputColumnArgs {
    delimiter?: string;
    formatPattern?: string;
    radix?: number;
    type: ParseType;
}

// Warning: (ae-missing-release-tag) "CopyArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CopyArgs extends InputColumnArgs, OutputColumnArgs {
}

// Warning: (ae-missing-release-tag) "createCodebookSchemaObject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function createCodebookSchemaObject(input: FactoryInput<CodebookSchema>): CodebookSchema;

// Warning: (ae-missing-release-tag) "createDataPackageSchemaObject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function createDataPackageSchemaObject(input: FactoryInput<DataPackageSchema>): DataPackageSchema;

// Warning: (ae-missing-release-tag) "createDataTableSchemaObject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function createDataTableSchemaObject(input: FactoryInput<DataTableSchema>): DataTableSchema;

// Warning: (ae-missing-release-tag) "createSchemaValidator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function createSchemaValidator(): Ajv;

// Warning: (ae-missing-release-tag) "createTableBundleSchemaObject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function createTableBundleSchemaObject(input: FactoryInput<TableBundleSchema>): TableBundleSchema;

// Warning: (ae-missing-release-tag) "createWorkflowSchemaObject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function createWorkflowSchemaObject(input: FactoryInput<WorkflowSchema>): WorkflowSchema;

// Warning: (ae-missing-release-tag) "Criterion" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Criterion {
    operator: NumericComparisonOperator | StringComparisonOperator | BooleanComparisonOperator | DateComparisonOperator;
    type: FilterCompareType;
    value?: Value;
}

// Warning: (ae-missing-release-tag) "DataFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum DataFormat {
    ARROW = "arrow",
    CSV = "csv",
    JSON = "json"
}

// Warning: (ae-missing-release-tag) "DataNature" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum DataNature {
    Micro = "micro",
    Panel = "panel"
}

// Warning: (ae-missing-release-tag) "DataOrientation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum DataOrientation {
    Array = "array",
    Columnar = "columnar",
    Records = "records",
    Values = "values"
}

// Warning: (ae-missing-release-tag) "DataPackageSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface DataPackageSchema extends Named {
    // (undocumented)
    $schema: string;
    // (undocumented)
    profile: KnownProfile.DataPackage;
    resources: (string | ResourceSchema)[];
}

// Warning: (ae-missing-release-tag) "DataShape" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface DataShape {
    matrix?: [width: number, height: number];
    nature?: DataNature;
    orientation?: DataOrientation;
}

// Warning: (ae-missing-release-tag) "DataTableSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface DataTableSchema extends ResourceSchema {
    columns?: number;
    data?: string | unknown[];
    encoding?: string;
    format?: DataFormat;
    parser?: ParserOptions;
    // (undocumented)
    profile: KnownProfile.DataTable;
    rows?: number;
    shape?: DataShape;
    typeHints?: TypeHints;
}

// Warning: (ae-missing-release-tag) "DataTableSchemaDefaults" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const DataTableSchemaDefaults: Partial<DataTableSchema>;

// Warning: (ae-missing-release-tag) "DataType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum DataType {
    // (undocumented)
    Array = "array",
    // (undocumented)
    Boolean = "boolean",
    // (undocumented)
    Date = "date",
    // (undocumented)
    Datetime = "datetime",
    // (undocumented)
    Integer = "integer",
    // (undocumented)
    Null = "null",
    // (undocumented)
    Number = "number",
    // (undocumented)
    Object = "object",
    // (undocumented)
    String = "string",
    // (undocumented)
    Time = "time",
    // (undocumented)
    Undefined = "undefined",
    // (undocumented)
    Unknown = "unknown"
}

// Warning: (ae-missing-release-tag) "DateComparisonOperator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum DateComparisonOperator {
    // (undocumented)
    After = "after",
    // (undocumented)
    Before = "before",
    // (undocumented)
    Equals = "equals",
    // (undocumented)
    IsEmpty = "is empty",
    // (undocumented)
    IsNotEmpty = "is not empty",
    // (undocumented)
    NotEqual = "is not equal"
}

// Warning: (ae-missing-release-tag) "DedupeArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DedupeArgs = Partial<InputColumnListArgs>;

// Warning: (ae-missing-release-tag) "DeriveArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface DeriveArgs extends OutputColumnArgs {
    column1: string;
    column2: string;
    operator: MathOperator;
}

// Warning: (ae-missing-release-tag) "DestructureArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface DestructureArgs extends InputColumnArgs {
    // (undocumented)
    keys?: string[];
    preserveSource?: boolean;
}

// Warning: (ae-missing-release-tag) "DropArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DropArgs = InputColumnListArgs;

// Warning: (ae-missing-release-tag) "DualInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface DualInput {
    input: {
        source: WorkflowInput;
        other: WorkflowInput;
    };
}

// Warning: (ae-missing-release-tag) "EncodeDecodeArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface EncodeDecodeArgs {
    codebook: CodebookSchema;
    strategy: CodebookStrategy;
}

// Warning: (ae-missing-release-tag) "EraseArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface EraseArgs extends InputColumnArgs {
    value: Value;
}

// Warning: (ae-missing-release-tag) "ErrorCode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ErrorCode {
    // (undocumented)
    Enum = "enum",
    // (undocumented)
    Maximum = "maximum",
    // (undocumented)
    MaxLength = "maximum length",
    // (undocumented)
    Minimum = "minimum",
    // (undocumented)
    MinLength = "minimum length",
    // (undocumented)
    Pattern = "pattern",
    // (undocumented)
    Required = "required",
    // (undocumented)
    Unique = "unique"
}

// Warning: (ae-missing-release-tag) "FactoryInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FactoryInput<T> = Omit<T, '$schema' | 'name' | 'profile'> & {
    name?: string;
};

// Warning: (ae-missing-release-tag) "Field" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface Field extends Named {
    constraints?: Constraints;
    derivedFrom?: string[];
    example?: any;
    exclude?: boolean;
    format?: string;
    inverse?: boolean;
    mapping?: Record<any, any>;
    nature?: VariableNature;
    subtype?: DataType;
    tags?: string[];
    type?: DataType;
    unit?: string;
    unitDescription?: string;
}

// Warning: (ae-missing-release-tag) "FieldAggregateOperation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum FieldAggregateOperation {
    Any = "any",
    Count = "count",
    CountDistinct = "distinct",
    CreateArray = "array_agg",
    CreateArrayDistinct = "array_agg_distinct",
    Invalid = "invalid",
    Max = "max",
    Mean = "mean",
    Median = "median",
    Min = "min",
    Mode = "mode",
    Product = "product",
    StandardDeviation = "stdev",
    StandardDeviationPopulation = "stdevp",
    Sum = "sum",
    Valid = "valid",
    Variance = "variance"
}

// Warning: (ae-missing-release-tag) "FieldError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FieldError {
    constraints: Constraints;
    indexes?: number[];
    name: string;
    rule: ErrorCode;
    validate?: ValidationFunction;
}

// Warning: (ae-missing-release-tag) "FieldMetadata" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface FieldMetadata {
    bins?: Bin[];
    categories?: Category[];
    count?: number;
    distinct?: number;
    invalid?: number;
    magnitude?: number;
    maximum?: number;
    mean?: number;
    median?: number;
    minimum?: number;
    mode?: string | number | boolean | Date;
    stdev?: number;
    type?: DataType;
}

// Warning: (ae-missing-release-tag) "FillArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FillArgs extends OutputColumnArgs {
    value: Value;
}

// Warning: (ae-missing-release-tag) "FilterArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FilterArgs extends InputColumnArgs {
    criteria: Criterion[];
    logical?: BooleanOperator;
}

// Warning: (ae-missing-release-tag) "FilterCompareType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum FilterCompareType {
    Column = "column",
    Value = "value"
}

// Warning: (ae-missing-release-tag) "FoldArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FoldArgs extends InputColumnListArgs {
    to?: [string, string];
}

// Warning: (ae-missing-release-tag) "GroupbyArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type GroupbyArgs = InputColumnListArgs;

// Warning: (ae-missing-release-tag) "ImputeArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ImputeArgs extends InputColumnArgs {
    value: Value;
}

// Warning: (ae-missing-release-tag) "InputBinding" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type InputBinding = {
    step: WorkflowStepId;
    table?: string;
};

// Warning: (ae-missing-release-tag) "InputColumnArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface InputColumnArgs {
    column: string;
    dataType?: DataType;
}

// Warning: (ae-missing-release-tag) "InputColumnListArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface InputColumnListArgs {
    columns: string[];
}

// Warning: (ae-missing-release-tag) "InputColumnRecordArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface InputColumnRecordArgs {
    columns: Record<string, string>;
}

// Warning: (ae-missing-release-tag) "InputKeyValueArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface InputKeyValueArgs {
    key: string;
    value: string;
}

// Warning: (ae-missing-release-tag) "JoinArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface JoinArgs extends JoinArgsBase {
    strategy?: JoinStrategy;
}

// Warning: (ae-missing-release-tag) "JoinArgsBase" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface JoinArgsBase {
    on?: string[];
}

// Warning: (ae-missing-release-tag) "JoinStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum JoinStrategy {
    // (undocumented)
    AntiJoin = "anti join",
    // (undocumented)
    Cross = "cross",
    // (undocumented)
    FullOuter = "full outer",
    // (undocumented)
    Inner = "inner",
    // (undocumented)
    LeftOuter = "left outer",
    // (undocumented)
    RightOuter = "right outer",
    // (undocumented)
    SemiJoin = "semi join"
}

// Warning: (ae-missing-release-tag) "KnownProfile" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum KnownProfile {
    // (undocumented)
    Codebook = "codebook",
    // (undocumented)
    DataPackage = "datapackage",
    // (undocumented)
    DataTable = "datatable",
    // (undocumented)
    TableBundle = "tablebundle",
    // (undocumented)
    Workflow = "workflow"
}

// Warning: (ae-missing-release-tag) "KnownRel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum KnownRel {
    // (undocumented)
    Codebook = "codebook",
    // (undocumented)
    Input = "input",
    // (undocumented)
    Workflow = "workflow"
}

// Warning: (ae-missing-release-tag) "LATEST_CODEBOOK_SCHEMA" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const LATEST_CODEBOOK_SCHEMA: string;

// Warning: (ae-missing-release-tag) "LATEST_DATAPACKAGE_SCHEMA" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const LATEST_DATAPACKAGE_SCHEMA: string;

// Warning: (ae-missing-release-tag) "LATEST_DATATABLE_SCHEMA" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const LATEST_DATATABLE_SCHEMA: string;

// Warning: (ae-missing-release-tag) "LATEST_TABLEBUNDLE_SCHEMA" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const LATEST_TABLEBUNDLE_SCHEMA: string;

// Warning: (ae-missing-release-tag) "LATEST_WORKFLOW_SCHEMA" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const LATEST_WORKFLOW_SCHEMA: string;

// Warning: (ae-missing-release-tag) "LookupArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LookupArgs extends JoinArgsBase, InputColumnListArgs {
}

// Warning: (ae-missing-release-tag) "MathOperator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum MathOperator {
    // (undocumented)
    Add = "+",
    // (undocumented)
    Divide = "/",
    // (undocumented)
    Multiply = "*",
    // (undocumented)
    Subtract = "-"
}

// Warning: (ae-missing-release-tag) "MergeArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MergeArgs extends InputColumnListArgs, OutputColumnArgs {
    delimiter?: string;
    prefix?: string;
    preserveSource?: boolean;
    strategy: MergeStrategy;
    unhot?: boolean;
}

// Warning: (ae-missing-release-tag) "MergeStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum MergeStrategy {
    Concat = "concat",
    CreateArray = "array",
    FirstOneWins = "first one wins",
    LastOneWins = "last one wins"
}

// Warning: (ae-missing-release-tag) "Named" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface Named {
    description?: string;
    name: string;
    title?: string;
}

// Warning: (ae-missing-release-tag) "NumericComparisonOperator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum NumericComparisonOperator {
    // (undocumented)
    Equals = "=",
    // (undocumented)
    GreaterThan = ">",
    // (undocumented)
    GreaterThanOrEqual = ">=",
    // (undocumented)
    IsEmpty = "is empty",
    // (undocumented)
    IsNotEmpty = "is not empty",
    // (undocumented)
    LessThan = "<",
    // (undocumented)
    LessThanOrEqual = "<=",
    // (undocumented)
    NotEqual = "!="
}

// Warning: (ae-missing-release-tag) "OnehotArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface OnehotArgs extends InputColumnArgs {
    prefix?: string;
    preserveSource?: boolean;
}

// Warning: (ae-missing-release-tag) "OrderbyArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface OrderbyArgs {
    orders: OrderbyInstruction[];
}

// Warning: (ae-missing-release-tag) "OrderbyInstruction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface OrderbyInstruction {
    column: string;
    direction?: SortDirection;
}

// Warning: (ae-missing-release-tag) "OutputColumnArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface OutputColumnArgs {
    to: string;
}

// Warning: (ae-missing-release-tag) "ParserOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ParserOptions {
    comment?: string;
    delimiter?: string;
    escapeChar?: string;
    header?: boolean;
    lineTerminator?: string;
    names?: string[];
    quoteChar?: string;
    readRows?: number;
    skipBlankLines?: boolean;
    skipRows?: number;
}

// Warning: (ae-missing-release-tag) "ParserOptionsDefaults" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const ParserOptionsDefaults: ParserOptions;

// Warning: (ae-missing-release-tag) "ParseType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum ParseType {
    Array = "array",
    Boolean = "boolean",
    Date = "date",
    Decimal = "float",
    Integer = "int",
    String = "string"
}

// Warning: (ae-missing-release-tag) "PivotArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PivotArgs extends InputKeyValueArgs {
    operation: FieldAggregateOperation;
}

// Warning: (ae-missing-release-tag) "PrintArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PrintArgs {
    // (undocumented)
    limit?: number;
    // (undocumented)
    message?: string;
}

// Warning: (ae-missing-release-tag) "Profile" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type Profile = KnownProfile
/**
* Any other custom profile string can be specified by applications.
*/
| string;

// Warning: (ae-missing-release-tag) "RecodeArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RecodeArgs extends InputColumnArgs, OutputColumnArgs {
    mapping: Record<Value, Value>;
}

// Warning: (ae-missing-release-tag) "Rel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type Rel = KnownRel
/**
* Any other custom Rel type can be specified by bundles
*/
| string;

// Warning: (ae-missing-release-tag) "RelationshipConstraint" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RelationshipConstraint {
    accepts: Profile[];
    description?: string;
    multi?: boolean;
    rel: string;
    title?: string;
}

// Warning: (ae-missing-release-tag) "RenameArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type RenameArgs = InputColumnRecordArgs;

// Warning: (ae-missing-release-tag) "ResourceSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ResourceSchema extends Named {
    $schema?: string;
    homepage?: string;
    license?: string;
    path?: string | string[];
    profile?: Profile;
    rel?: Rel | string;
    sources?: (string | ResourceSchema)[];
}

// Warning: (ae-missing-release-tag) "RollupArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RollupArgs extends InputColumnArgs, OutputColumnArgs {
    operation: FieldAggregateOperation;
}

// Warning: (ae-missing-release-tag) "SampleArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SampleArgs {
    emitRemainder?: boolean;
    proportion?: number;
    seed?: number;
    size?: number;
}

// Warning: (ae-missing-release-tag) "SelectArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SelectArgs = InputColumnListArgs;

// Warning: (ae-missing-release-tag) "SetOp" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum SetOp {
    Concat = "concat",
    Difference = "difference",
    Intersect = "intersect",
    Union = "union"
}

// Warning: (ae-missing-release-tag) "SortDirection" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum SortDirection {
    // (undocumented)
    Ascending = "asc",
    // (undocumented)
    Descending = "desc"
}

// Warning: (ae-missing-release-tag) "SpreadArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface SpreadArgs extends InputColumnArgs {
    delimiter?: string;
    onehot?: boolean;
    preserveSource?: boolean;
    // (undocumented)
    to: string[];
}

// Warning: (ae-missing-release-tag) "Step" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type Step = StepJsonCommon & (({
    verb: Verb.Aggregate;
    args?: AggregateArgs;
} & BasicInput) | ({
    verb: Verb.Bin;
    args?: BinArgs;
} & BasicInput) | ({
    verb: Verb.Binarize;
    args?: BinarizeArgs;
} & BasicInput) | ({
    verb: Verb.Boolean;
    args?: BooleanArgs;
} & BasicInput) | ({
    verb: Verb.Concat;
} & VariadicInput) | ({
    verb: Verb.Convert;
    args?: ConvertArgs;
} & BasicInput) | ({
    verb: Verb.Copy;
    args?: CopyArgs;
} & BasicInput) | ({
    verb: Verb.Dedupe;
    args?: DedupeArgs;
} & BasicInput) | ({
    verb: Verb.Derive;
    args?: DeriveArgs;
} & BasicInput) | ({
    verb: Verb.Difference;
} & VariadicInput) | ({
    verb: Verb.Decode;
    args?: EncodeDecodeArgs;
} & BasicInput) | ({
    verb: Verb.Drop;
    args?: DropArgs;
} & BasicInput) | ({
    verb: Verb.Encode;
    args?: EncodeDecodeArgs;
} & BasicInput) | ({
    verb: Verb.Erase;
    args?: EraseArgs;
} & BasicInput) | ({
    verb: Verb.Fill;
    args?: FillArgs;
} & BasicInput) | ({
    verb: Verb.Filter;
    args?: FilterArgs;
} & BasicInput) | ({
    verb: Verb.Fold;
    args?: FoldArgs;
} & BasicInput) | ({
    verb: Verb.Groupby;
    args?: GroupbyArgs;
} & BasicInput) | ({
    verb: Verb.Impute;
    args?: ImputeArgs;
} & BasicInput) | ({
    verb: Verb.Intersect;
} & VariadicInput) | ({
    verb: Verb.Join;
    args?: JoinArgs;
} & DualInput) | ({
    verb: Verb.Lookup;
    args?: LookupArgs;
} & DualInput) | ({
    verb: Verb.Merge;
    args?: MergeArgs;
} & BasicInput) | ({
    verb: Verb.Print;
    args?: PrintArgs;
} & BasicInput) | ({
    verb: Verb.Onehot;
    args?: OnehotArgs;
} & BasicInput) | ({
    verb: Verb.Orderby;
    args?: OrderbyArgs;
} & BasicInput) | ({
    verb: Verb.Pivot;
    args?: PivotArgs;
} & BasicInput) | ({
    verb: Verb.Recode;
    args?: RecodeArgs;
} & BasicInput) | ({
    verb: Verb.Rename;
    args?: RenameArgs;
} & BasicInput) | ({
    verb: Verb.Rollup;
    args?: RollupArgs;
} & BasicInput) | ({
    verb: Verb.Sample;
    args?: SampleArgs;
} & BasicInput) | ({
    verb: Verb.Select;
    args?: SelectArgs;
} & BasicInput) | ({
    verb: Verb.Spread;
    args?: SpreadArgs;
} & BasicInput) | ({
    verb: Verb.Destructure;
    args?: DestructureArgs;
} & BasicInput) | ({
    verb: Verb.StringsReplace;
    args?: StringsReplaceArgs;
} & BasicInput) | ({
    verb: Verb.StringsLower;
    args?: StringsArgs;
} & BasicInput) | ({
    verb: Verb.StringsUpper;
    args?: StringsArgs;
} & BasicInput) | ({
    verb: Verb.Unfold;
    args?: UnfoldArgs;
} & BasicInput) | ({
    verb: Verb.Ungroup;
} & BasicInput) | ({
    verb: Verb.Unhot;
    args?: UnhotArgs;
} & BasicInput) | ({
    verb: Verb.Union;
} & VariadicInput) | ({
    verb: Verb.Unorder;
} & BasicInput) | ({
    verb: Verb.Unroll;
    args?: UnrollArgs;
} & BasicInput) | ({
    verb: Verb.Window;
    args?: WindowArgs;
} & BasicInput) | ({
    verb: Verb.Workflow;
    args?: WorkflowArgs;
} & BasicInput)
/**
* Custom step - we may not know the verb, args, or binding pattern
*/
| ({
    verb: string;
    args?: unknown;
} & UnknownInput));

// Warning: (ae-missing-release-tag) "StepJsonCommon" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface StepJsonCommon {
    id?: string;
}

// Warning: (ae-missing-release-tag) "StringComparisonOperator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum StringComparisonOperator {
    // (undocumented)
    Contains = "contains",
    // (undocumented)
    EndsWith = "ends with",
    // (undocumented)
    Equals = "equals",
    // (undocumented)
    IsEmpty = "is empty",
    // (undocumented)
    IsNotEmpty = "is not empty",
    // (undocumented)
    NotEqual = "is not equal",
    // (undocumented)
    RegularExpression = "regex",
    // (undocumented)
    StartsWith = "starts with"
}

// Warning: (ae-missing-release-tag) "StringsArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface StringsArgs extends InputColumnArgs, OutputColumnArgs {
}

// Warning: (ae-missing-release-tag) "StringsReplaceArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface StringsReplaceArgs extends StringsArgs {
    // (undocumented)
    caseInsensitive?: boolean;
    // (undocumented)
    globalSearch?: boolean;
    // (undocumented)
    pattern: string;
    // (undocumented)
    replacement: string;
}

// Warning: (ae-missing-release-tag) "TableBundleSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface TableBundleSchema extends ResourceSchema {
    // (undocumented)
    profile: KnownProfile.TableBundle;
}

// Warning: (ae-missing-release-tag) "TypeHints" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface TypeHints {
    arrayDelimiter?: string;
    dataFormat?: DataFormat;
    dateFormat?: string;
    decimal?: string;
    falseValues?: string[];
    infinity?: [string, string];
    naValues?: string[];
    thousands?: string;
    trueValues?: string[];
}

// Warning: (ae-missing-release-tag) "TypeHintsDefaults" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export const TypeHintsDefaults: Required<TypeHints>;

// Warning: (ae-missing-release-tag) "UnfoldArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type UnfoldArgs = InputKeyValueArgs;

// Warning: (ae-missing-release-tag) "UnhotArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface UnhotArgs extends InputColumnListArgs, OutputColumnArgs {
    // (undocumented)
    prefix?: string;
    preserveSource?: boolean;
}

// Warning: (ae-missing-release-tag) "UnknownInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface UnknownInput {
    // (undocumented)
    input?: WorkflowInput | {
        source?: WorkflowInput;
        others?: WorkflowInput[];
        [key: string]: WorkflowInput | WorkflowInput[] | undefined;
    };
}

// Warning: (ae-missing-release-tag) "UnrollArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type UnrollArgs = InputColumnArgs;

// Warning: (ae-missing-release-tag) "ValidationFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ValidationFunction = (values: unknown[]) => FieldError | undefined;

// Warning: (ae-missing-release-tag) "ValidationResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ValidationResult {
    // (undocumented)
    errors: FieldError[];
}

// Warning: (ae-missing-release-tag) "Value" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type Value = any;

// Warning: (ae-missing-release-tag) "VariableNature" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum VariableNature {
    Binary = "binary",
    Continuous = "continuous",
    Discrete = "discrete",
    Nominal = "nominal",
    Ordinal = "ordinal"
}

// Warning: (ae-missing-release-tag) "VariadicInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface VariadicInput {
    input: {
        source: WorkflowInput;
        others?: WorkflowInput[];
    };
}

// Warning: (ae-missing-release-tag) "Verb" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum Verb {
    // (undocumented)
    Aggregate = "aggregate",
    // (undocumented)
    Bin = "bin",
    // (undocumented)
    Binarize = "binarize",
    // (undocumented)
    Boolean = "boolean",
    // (undocumented)
    Concat = "concat",
    // (undocumented)
    Convert = "convert",
    // (undocumented)
    Copy = "copy",
    // (undocumented)
    Decode = "decode",
    // (undocumented)
    Dedupe = "dedupe",
    // (undocumented)
    Derive = "derive",
    // (undocumented)
    Destructure = "destructure",
    // (undocumented)
    Difference = "difference",
    // (undocumented)
    Drop = "drop",
    // (undocumented)
    Encode = "encode",
    // (undocumented)
    Erase = "erase",
    // (undocumented)
    Fill = "fill",
    // (undocumented)
    Filter = "filter",
    // (undocumented)
    Fold = "fold",
    // (undocumented)
    Groupby = "groupby",
    // (undocumented)
    Impute = "impute",
    // (undocumented)
    Intersect = "intersect",
    // (undocumented)
    Join = "join",
    // (undocumented)
    Lookup = "lookup",
    // (undocumented)
    Merge = "merge",
    // (undocumented)
    Onehot = "onehot",
    // (undocumented)
    Orderby = "orderby",
    // (undocumented)
    Pivot = "pivot",
    // (undocumented)
    Print = "print",
    // (undocumented)
    Recode = "recode",
    // (undocumented)
    Rename = "rename",
    // (undocumented)
    Rollup = "rollup",
    // (undocumented)
    Sample = "sample",
    // (undocumented)
    Select = "select",
    // (undocumented)
    Spread = "spread",
    // (undocumented)
    StringsLower = "strings.lower",
    // (undocumented)
    StringsReplace = "strings.replace",
    // (undocumented)
    StringsUpper = "strings.upper",
    // (undocumented)
    Unfold = "unfold",
    // (undocumented)
    Ungroup = "ungroup",
    // (undocumented)
    Unhot = "unhot",
    // (undocumented)
    Union = "union",
    // (undocumented)
    Unorder = "unorder",
    // (undocumented)
    Unroll = "unroll",
    // (undocumented)
    Window = "window",
    // (undocumented)
    Workflow = "workflow"
}

// Warning: (ae-missing-release-tag) "WindowArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface WindowArgs extends InputColumnArgs, OutputColumnArgs {
    operation: WindowFunction;
}

// Warning: (ae-missing-release-tag) "WindowFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum WindowFunction {
    // (undocumented)
    CumulativeDistribution = "cume_dist",
    // (undocumented)
    FillDown = "fill_down",
    // (undocumented)
    FillUp = "fill_up",
    // (undocumented)
    FirstValue = "first_value",
    // (undocumented)
    LastValue = "last_value",
    // (undocumented)
    PercentRank = "percent_rank",
    // (undocumented)
    Rank = "rank",
    // (undocumented)
    RowNumber = "row_number",
    // (undocumented)
    UUID = "uuid"
}

// Warning: (ae-missing-release-tag) "WorkflowArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface WorkflowArgs {
    workflow: WorkflowSchema;
}

// Warning: (ae-missing-release-tag) "WorkflowInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type WorkflowInput = WorkflowStepId | InputBinding;

// Warning: (ae-missing-release-tag) "WorkflowSchema" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface WorkflowSchema extends ResourceSchema {
    input?: string[];
    // (undocumented)
    profile: 'workflow';
    steps?: Step[];
}

// Warning: (ae-missing-release-tag) "WorkflowStepId" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type WorkflowStepId = string;

// (No @packageDocumentation comment for this package)

```
