import { type Notifier } from '@ni/fast-element';
import type { TableColumn } from '../base';
import { TableColumnSortOperation } from '../base/types';
import type { ColumnValidator } from '../base/models/column-validator';
type CustomSortOrderTableColumn<TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>> = Pick<TableColumn<unknown, TColumnValidator>, 'columnInternals'>;
type CustomSortOrderTableColumnConstructor<TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>> = abstract new (...args: any[]) => CustomSortOrderTableColumn<TColumnValidator>;
export declare function mixinCustomSortOrderColumnAPI<TBase extends CustomSortOrderTableColumnConstructor<TColumnValidator>, TColumnValidator extends ColumnValidator<['invalidCustomSortWithGrouping']>>(base: TBase): (abstract new (...args: any[]) => {
    sortByFieldName?: string;
    /** @internal */
    customSortOrderColumnNotifier?: Notifier;
    /** @internal */
    customSortOrderColumnChangeHandler: {
        handleChange: (_source: unknown, args: unknown) => void;
    };
    getResolvedOperandDataRecordFieldName(initialOperandFieldName: string | undefined): string | undefined;
    getResolvedSortOperation(initialSortOperation: TableColumnSortOperation): TableColumnSortOperation;
    /** @internal */
    sortByFieldNameChanged(): void;
    handleSortConfigurationChange(): void;
    /** @internal */
    handleCustomSortOrderColumnChange(_source: unknown, args: unknown): void;
    /** @internal */
    updateCustomColumnSortingValidity(): void;
    readonly columnInternals: import("../base/models/column-internals").ColumnInternals<unknown, TColumnValidator>;
}) & TBase;
export {};
