import { RelationalOperator } from './relational-operator'; import { StringFormat } from './string-format'; /** * This is a dictionary of properties. Each key represents * a uniquely named property of a component */ export declare type StudioComponentProperties = { /** * Each key maps to an available component property. Static values * can be passed in as a string. */ [key: string]: StudioComponentProperty; }; export declare type CommonPropertyValues = { /** * If this flag is set, then the property will be shown in Studio UI. If not, it will be hidden. * All properties imported from an external provider will omit this property by default. */ configured?: boolean; /** * The original imported value of the property. If the value * has not been overridden from import, this field will remain undefined. */ importedValue?: string; /** * The format in which to display the component property in */ stringFormat?: StringFormat; }; export declare type StudioComponentProperty = FixedStudioComponentProperty | BoundStudioComponentProperty | CollectionStudioComponentProperty | ConcatenatedStudioComponentProperty | ConditionalStudioComponentProperty | WorkflowStudioComponentProperty | StudioComponentAuthProperty | StateStudioComponentProperty; /** * This represents a component property that is configured with either * static values */ export declare type FixedStudioComponentProperty = { /** * These are the values pass when code generating. Static values can be passed in * as a string */ value: string | number | boolean | Date; type?: string; } & CommonPropertyValues; /** * This represents a component property that is configured with either * data bound values */ export declare type BoundStudioComponentProperty = { /** * This is the exposed property that will propogate down to this value */ bindingProperties: { property: string; field?: string; }; /** * The default value to pass in if no prop is provided */ defaultValue?: string; } & CommonPropertyValues; /** * This represents a component property that is configured with collection item */ export declare type CollectionStudioComponentProperty = { /** * record collection item bindings */ collectionBindingProperties: { property: string; field?: string; }; /** * The default value to pass in if no prop is provided */ defaultValue?: string; } & CommonPropertyValues; /** * Component property that contains concatenation of multiple properties */ export declare type ConcatenatedStudioComponentProperty = { concat: StudioComponentProperty[]; } & CommonPropertyValues; /** * Component property that represents a conditional expression */ export declare type ConditionalStudioComponentProperty = { condition: { property: string; field?: string; operator: RelationalOperator; operand: string | number | boolean; operandType?: string; then: StudioComponentProperty; else: StudioComponentProperty; }; } & CommonPropertyValues; /** * This represents a component property that is configured with either * data bound values */ export declare type WorkflowStudioComponentProperty = { event: string; } & CommonPropertyValues; /** * Component property that represents an authentication property */ export declare type StudioComponentAuthProperty = { userAttribute: string; } & CommonPropertyValues; export declare type StateStudioComponentProperty = { componentName: string; property: string; } & CommonPropertyValues; //# sourceMappingURL=properties.d.ts.map