import { MeetingStructureConfig } from '@dvn/core/models/meeting-structure-config';
import { Rule } from '@dvn/core/models/rule';
import { TableConfig } from '@dvn/core/models/table-config';
import { CalendarConfig } from '@dvn/takvim/api/models';
export declare const getPairConfigMemberCollection: (pairConfig: any, fieldId: string) => string;
export declare const getPairConfigSelectionConfigForRole: (pairConfig: any, roleName: string) => SelectionConfig | undefined;
export declare const getPairConfigSelectionConfigTargetingRole: (pairConfig: any, roleName: string) => SelectionConfig | undefined;
export declare class PairConfig extends TableConfig {
  static decode(json: any): PairConfig;
  name: string;
  selection: {
    [key: string]: SelectionConfig;
  };
  calendarConfig: CalendarConfig;
  structure: MeetingStructureConfig;
  actionPermissions: {
    [key: string]: {
      completePair: false;
    };
  };
}
export declare class SelectionConfig {
  initiation: 'immediate' | 'approvingly';
  selectionLimit: number;
  pairLimit: number;
  rules: Rule[];
  roleNameToSelect: string;
  selectionUI: {
    showMessageButton: boolean;
  };
  status: 'active' | 'passive';
  static decode(json: any): SelectionConfig;
  isActive(): boolean;
}
