///
import { API } from '@makeflow/types';
import { OperationTokenToken } from '@makeflow/types-nominal';
import { Dict } from 'tslang';
export interface IModel = Dict> extends API.PowerApp.Source {
type: TType;
storage: TStorage | undefined;
}
export declare type Model = InstallationModel | PowerItemModel | PowerNodeModel | PowerGlanceModel | PowerCustomCheckableItemModel;
export declare type Definition = InstallationDefinition | PowerItemDefinition | PowerNodeDefinition | PowerGlanceDefinition | PowerCustomCheckableItemDefinition;
declare type __Definition> | 'installation'> = TModel extends IModel ? {
type: Type;
primaryField: TPrimaryField;
allowedFields: Exclude>, TPrimaryField>[];
} : never;
export interface InstallationModel extends IModel<'installation'> {
configs: Dict;
resources: API.PowerApp.ResourcesMapping;
users: API.PowerApp.UserInfo[];
accessToken?: string | undefined;
}
export declare type InstallationDefinition = __Definition;
export interface IPowerAppResourceModel extends IModel {
resourceToken: OperationTokenToken;
}
export interface PowerItemModel extends IPowerAppResourceModel<'power-item'> {
}
export declare type PowerItemDefinition = __Definition;
export interface PowerNodeModel extends IPowerAppResourceModel<'power-node'> {
}
export declare type PowerNodeDefinition = __Definition;
export interface PowerGlanceModel extends IPowerAppResourceModel<'power-glance'> {
clock: number;
disposed: boolean | undefined;
}
export declare type PowerGlanceDefinition = __Definition;
export interface PowerCustomCheckableItemModel extends IPowerAppResourceModel<'power-custom-checkable-item'> {
}
export declare type PowerCustomCheckableItemDefinition = __Definition;
declare type ModelTypeToDefinition = Extract;
export declare const typeToModelDefinitionDict: {
[TKey in Model['type']]: ModelTypeToDefinition;
};
export declare type ModelToDefinition = ModelTypeToDefinition;
export {};