/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { DataColumn, DataRow, DataSorting, DataTableAdapter, ThumbnailService } from '@alfresco/adf-core';
import { NodePaging } from '@alfresco/js-api';
import { PermissionStyleModel } from './../models/permissions-style.model';
import { RowFilter } from './row-filter.model';
import { ContentService } from '../../common/services/content.service';
export declare const ERR_ROW_NOT_FOUND: string;
export declare const ERR_COL_NOT_FOUND: string;
export declare class ShareDataTableAdapter implements DataTableAdapter {
    private thumbnailService;
    private contentService;
    private _sortingMode;
    private sorting;
    private rows;
    private columns;
    private filter;
    private imageResolver;
    thumbnails: boolean;
    permissionsStyle: PermissionStyleModel[];
    selectedRow: DataRow;
    allowDropFiles: boolean;
    set sortingMode(value: string);
    get sortingMode(): string;
    constructor(thumbnailService: ThumbnailService, contentService: ContentService, schema?: DataColumn[], sorting?: DataSorting, sortingMode?: string, allowDropFiles?: boolean);
    getColumnType(_row: DataRow, col: DataColumn): string;
    getRows(): Array<DataRow>;
    setRows(rows: Array<DataRow>): void;
    getColumns(): Array<DataColumn>;
    setColumns(columns: Array<DataColumn>): void;
    getValue(row: DataRow, col: DataColumn): any;
    /**
     * Gets a thumbnail URL for the given document node.
     *
     * @param node Node or Node ID to get URL for.
     * @param attachment Toggles whether to retrieve content as an attachment for download
     * @param ticket Custom ticket to use for authentication
     * @returns URL string
     */
    private getDocumentThumbnailUrl;
    getSorting(): DataSorting;
    setSorting(sorting: DataSorting): void;
    sort(key?: string, direction?: string): void;
    setFilter(filter: RowFilter): void;
    setImageResolver(resolver: any): void;
    private getFolderIcon;
    isSmartFolder(node: any): boolean;
    isRuleFolder(node: any): boolean;
    isALinkFolder(node: any): boolean;
    private getNodeAspectNames;
    private sortRows;
    loadPage(nodePaging: NodePaging, merge?: boolean, allowDropFiles?: boolean): void;
    getSelectedRows(): DataRow[];
    getRowByNodeId(nodeId: string): DataRow;
}
