import * as React from 'react';
import { IconName, IOptionProps } from '@blueprintjs/core';
import { ICountType } from '../../../Add-on/LookOverBoardInfos/LookOverBoardInfosTool';
import { Board } from '../../../DatabaseServices/Entity/Board';
import { LinesType } from '../../Store/BoardInterface';
import { ProcessingGroupRecord } from '../../../DatabaseServices/ProcessingGroup/ProcessingGroupRecord';
import { IBoardInfoOptions } from './BoardInfosList';
import { ObjectId } from '../../../DatabaseServices/ObjectId';
export interface SortBtnData {
    text: string;
    icon: IconName;
}
export declare const SelectElementIndex: number[];
export declare class TitleBanner extends React.Component<{
    sortBtnData: SortBtnData[];
    style: any;
    handleOrder: Function;
}, {}> {
    icon: IconName;
    getBtnData: (data: string) => boolean;
    render(): JSX.Element;
}
export declare enum PartsType {
    Hole = 0,
    Hardware = 1,
    Area = 2,
    Edge = 3
}
interface IPartsTableProps {
    type: PartsType;
    partsCount: (ICountType | ICountType<Board>)[];
    titles: string[];
}
export declare class PartsTable extends React.Component<IPartsTableProps, {}> {
    private renderBody;
    render(): JSX.Element;
}
interface IBBSSealingComponentProps {
    click: (v: string) => void;
    board: Board;
    option: IBoardInfoOptions;
    ModifyDataRecord: (index: number, brData: Board, modifyKey: string, value: string | LinesType | ProcessingGroupRecord[]) => void;
    index: number;
}
export declare class BBSSealingComponent extends React.Component<IBBSSealingComponentProps> {
    render(): JSX.Element;
}
interface IBBSDrillingComponentProps extends IBBSSealingComponentProps {
    selectOption: string[];
    ToggleBgColor: () => void;
}
export declare class BBSHighDrillingComponent extends React.Component<IBBSDrillingComponentProps> {
    render(): JSX.Element;
}
interface IBBSLinesComponentProps {
    option: IBoardInfoOptions;
    ModifyDataRecord: (index: number, brData: Board, modifyKey: string, value: string | LinesType | ProcessingGroupRecord[]) => void;
    index: number;
    board: Board;
    ToggleBgColor: () => void;
    HandleOnClick: (v: any) => void;
    selectOption: IOptionProps[] | string[];
    optKey: string;
}
export declare class BBSSelectComponent extends React.Component<IBBSLinesComponentProps> {
    render(): JSX.Element;
    private handleChange;
}
interface IBBSProcessGroupItemProps {
    option: IBoardInfoOptions;
    ModifyDataRecord: (index: number, brData: Board, modifyKey: string, value: string | LinesType | ProcessingGroupRecord[]) => void;
    index: number;
    board: Board;
    HandleOnClick: (v?: any) => void;
    realBr: Board;
    processGroupData: Map<string, ObjectId[]>;
}
export declare class BBSProcessGroupItem extends React.Component<IBBSProcessGroupItemProps> {
    private showAlert;
    private removepg;
    private tags;
    componentDidMount(): void;
    render(): JSX.Element;
    private GetRemovable;
    private RemoveTag;
    private updateTags;
    private GetInputVal;
    private HandleAlertOnComfirm;
    private GetTemplatePgName;
}
export declare class BBSRemarksComponent extends React.Component<IBBSSealingComponentProps> {
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=BBSCommon.d.ts.map