import { PropertyConfiguration, PropertyConfigurationBuilder } from './property-configuration'; import { LookupDataSource } from '@ngx-floyd/core'; import { FormlyTemplate } from './formly-template'; import { DropdownColumn } from '@ngx-floyd/forms'; export interface DropdownPropertyConfiguration extends PropertyConfiguration { dataSource(dataSource: () => LookupDataSource): this; cascadeFrom(...fields: ((keyof T) | MappedField)[]): this; additionalDropdownColumns(config: (d: DropdownColumnConfiguration) => DropdownColumnConfiguration): this; hideClear(): this; panelClassName(className: string): this; } export interface MappedField { field: keyof T; as: string; } export declare class DropdownColumnConfiguration { columns: DropdownColumn[]; constructor(columns: DropdownColumn[]); add(field: string, size?: number, format?: (value: any) => string, atIndex?: number): DropdownColumnConfiguration; remove(field: string): DropdownColumnConfiguration; modify(field: string, modifyFn: (column: DropdownColumn) => void): DropdownColumnConfiguration; } export declare class DropdownPropertyConfigurationBuilder extends PropertyConfigurationBuilder implements DropdownPropertyConfiguration { constructor(fieldName: keyof T, formlyTemplate: FormlyTemplate); hideClear(): this; additionalDropdownColumns(config: (d: DropdownColumnConfiguration) => DropdownColumnConfiguration): this; panelClassName(className: string): this; dataSource(dataSourceFactory: () => LookupDataSource): this; cascadeFrom(...fields: ((keyof T) | MappedField)[]): this; private findFieldInParent; private findFieldInFieldGroup; }