import { TeamSharingState, SharedEntity, AdaptableSharedEntityConfig, TeamSharingImportStep, AdaptableSharedEntity, CustomSharedEntityConfig } from '../../AdaptableState/TeamSharingState';
import * as Redux from 'redux';
import { AdaptableObject } from '../../AdaptableState/Common/AdaptableObject';
import { AdaptableModule } from '../../AdaptableState/Common/Types';
export declare const TEAMSHARING_GET = "TEAMSHARING_GET";
export declare const TEAMSHARING_SET = "TEAMSHARING_SET";
export declare const TEAMSHARING_SHARE = "TEAMSHARING_SHARE";
export declare const TEAMSHARING_SHARE_CUSTOM = "TEAMSHARING_SHARE_CUSTOM";
export declare const TEAMSHARING_IMPORT_ITEM = "TEAMSHARING_IMPORT_ITEM";
export declare const TEAMSHARING_PROCESS_IMPORT = "TEAMSHARING_PROCESS_IMPORT";
export declare const TEAMSHARING_COMMIT_IMPORT = "TEAMSHARING_COMMIT_IMPORT";
export declare const TEAMSHARING_REMOVE_ITEM = "TEAMSHARING_REMOVE_ITEM";
export declare const TEAMSHARING_LINK_ITEM = "TEAMSHARING_LINK_ITEM";
export declare const TEAMSHARING_UPDATE_ITEM = "TEAMSHARING_UPDATE_ITEM";
export declare const TEAMSHARING_CHECK_FOR_UPDATES = "TEAMSHARING_CHECK_FOR_UPDATES";
export interface TeamSharingShareAction extends Redux.Action {
    Entity: AdaptableObject;
    Module: AdaptableModule;
    Configuration: AdaptableSharedEntityConfig;
}
export interface TeamSharingShareCustomAction extends Redux.Action {
    Entity: any;
    Configuration: CustomSharedEntityConfig;
}
export interface TeamSharingSetAction extends Redux.Action {
    Entities: SharedEntity[];
}
export interface TeamSharingImportItemAction extends Redux.Action {
    SharedEntity: AdaptableSharedEntity;
}
export interface TeamSharingProcessImportAction extends Redux.Action {
    ImportSteps: TeamSharingImportStep[];
}
export interface TeamSharingRemoveItemAction extends Redux.Action {
    Uuid: string;
}
export interface TeamSharingGetAction extends Redux.Action {
}
export interface TeamSharingUpdateItemAction extends Redux.Action {
    ChangedAdaptableObject: AdaptableObject;
    UserName: string;
}
export interface TeamSharingLinkItemAction extends Redux.Action {
    SharedEntities: AdaptableSharedEntity[];
}
export interface TeamSharingCommitImportAction extends Redux.Action {
}
export interface TeamSharingCheckForUpdatesAction extends Redux.Action {
}
export declare const TeamSharingShare: (entity: AdaptableObject, module: AdaptableModule, configuration: AdaptableSharedEntityConfig) => TeamSharingShareAction;
export declare const TeamSharingShareCustom: (entity: AdaptableObject, configuration: CustomSharedEntityConfig) => TeamSharingShareCustomAction;
export declare const TeamSharingSet: (Entities: SharedEntity[]) => TeamSharingSetAction;
export declare const TeamSharingImportItem: (SharedEntity: AdaptableSharedEntity) => TeamSharingImportItemAction;
export declare const TeamSharingProcessImport: (ImportSteps: TeamSharingImportStep[]) => TeamSharingProcessImportAction;
export declare const TeamSharingCommitImport: () => TeamSharingCommitImportAction;
export declare const TeamSharingRemoveItem: (Uuid: string) => TeamSharingRemoveItemAction;
export declare const TeamSharingGet: () => TeamSharingGetAction;
export declare const TeamSharingLinkItem: (...SharedEntities: AdaptableSharedEntity[]) => TeamSharingLinkItemAction;
export declare const TeamSharingUpdateItem: (ChangedAdaptableObject: AdaptableObject, UserName: string) => TeamSharingUpdateItemAction;
export declare const TeamSharingCheckForUpdates: () => TeamSharingGetAction;
export declare const TeamSharingReducer: Redux.Reducer<TeamSharingState>;
