import type { FieldTypeName, FieldTypeOptionsMap, ViewTypesConfig } from '../../types/cn-ai-table';
import type { LookupFieldCallbackFn } from '../../types/lookup-field-table-config';
export interface AiFieldCapability {
    enabled: boolean;
}
export interface LookupFieldCapability {
    enabled: boolean;
    hiddenSubTable?: boolean;
    addFieldCallback?: LookupFieldCallbackFn;
    deleteFieldCallback?: LookupFieldCallbackFn;
}
export interface FormulaFieldCapability {
    enabled: boolean;
}
export interface FieldTypeCapabilities {
    ai: AiFieldCapability;
    lookup: LookupFieldCapability;
    formula: FormulaFieldCapability;
}
export interface GridToolbarPermissions {
    fieldManagement: boolean;
    filter: boolean;
    sort: boolean;
    group: boolean;
    colorFill: boolean;
}
export interface GridViewCapability {
    enabled: true;
    toolbarVisible: boolean;
    toolbarPermissions: GridToolbarPermissions;
}
export interface TaskToolbarPermissions {
    cardManagement: boolean;
    filter: boolean;
    sort: boolean;
}
export interface TaskViewCapability {
    enabled: boolean;
    enableSummary: boolean;
    toolbarVisible: boolean;
    toolbarPermissions: TaskToolbarPermissions;
}
export interface SmartFollowViewCapability {
    enabled: boolean;
    enableDetailSummary: boolean;
}
export interface ViewTypeCapabilities {
    grid: GridViewCapability;
    task: TaskViewCapability;
    smartFollow: SmartFollowViewCapability;
}
export interface ResolvedConfig {
    fieldTypes: FieldTypeCapabilities;
    viewTypes: ViewTypeCapabilities;
}
export declare function resolveConfig(enabledFieldTypes?: FieldTypeName[], fieldTypeOptions?: FieldTypeOptionsMap, viewTypes?: ViewTypesConfig): ResolvedConfig;
