export declare type StudioComponentPropertyBinding = StudioComponentDataPropertyBinding | StudioComponentStoragePropertyBinding | StudioComponentSimplePropertyBinding | StudioComponentEventPropertyBinding | StudioComponentSlotBinding; /** * These are the primitive value types */ export declare enum StudioComponentPropertyType { String = "String", Number = "Number", Boolean = "Boolean", Date = "Date" } export declare type StudioComponentSimplePropertyBinding = { /** * This is the data type for the value that is bound to this property. The default * inferred type is string so this will only need to be set if it is not a string */ type: keyof typeof StudioComponentPropertyType; defaultValue?: string | undefined; }; /** * This represent the configuration for binding a component property * to Amplify specific information */ export declare type StudioComponentDataPropertyBinding = { /** * This declares where the data is coming from to bind to */ type: 'Data'; /** * This is the value of the data binding */ bindingProperties: StudioComponentDataBindingProperty; }; /** * This represent the configuration for binding a component property * to Amplify specific information */ export declare type StudioComponentEventPropertyBinding = { /** * This declares that the type is of a workflow binding */ type: 'Event'; }; /** * This represent the configuration for binding a component property * to Amplify specific information */ export declare type StudioComponentStoragePropertyBinding = { /** * This declares where the data is coming from to bind to */ type: 'Storage'; /** * This is the value of the data binding */ bindingProperties: StudioComponentStorageBindingProperty; }; /** * This represent the configuration for a binding to be a user-defined JSX Element */ export declare type StudioComponentSlotBinding = { /** * This declares that the binding is a Slot type */ type: 'Amplify.Slot'; }; /** * This represents the model and field you want to bind * a component property to */ export declare type StudioComponentDataBindingProperty = { model: string; field?: string; predicate?: StudioComponentPredicate; }; export declare type StudioComponentPredicate = { and?: StudioComponentPredicate[]; or?: StudioComponentPredicate[]; not?: StudioComponentPredicate[]; field?: string; operand?: string; operator?: string; operandType?: string; }; /** * This represents the bucket and key you want to bind a component * property to */ export declare type StudioComponentStorageBindingProperty = { key: string; level?: string; }; /** * These are the types of data binding */ export declare enum StudioComponentPropertyBindingType { Data = "Data", Storage = "Storage", Event = "Event" } /** * This represent the configuration for binding a component property * to Amplify specific information */ export declare type StudioComponentDataConfiguration = { model: string; sort?: StudioComponentSort[]; predicate?: StudioComponentPredicate; /** * This is a collection of Id's that will be always queried from DataStore. * This would be used in liu of a predicate. */ identifiers?: string[]; }; export declare type StudioComponentSort = { field: string; direction: 'ASC' | 'DESC'; }; //# sourceMappingURL=bindings.d.ts.map