///
import { PrismaCmsComponentProps, PrismaCmsComponentState } from '@prisma-cms/component';
export interface EditableObjectPropsDataObject extends Record {
}
export interface EditableObjectProcessorResponse {
response?: {
success: boolean;
message: string;
errors: Array<{
key: string;
message: string;
}>;
data: EditableObjectPropsDataObject | null;
};
}
export declare type EditableObjectSaveResult = {
data: EditableObjectProcessorResponse | undefined | null;
} | undefined | Error;
export interface EditableObjectProps extends PrismaCmsComponentProps {
loading?: boolean;
object: EditableObjectPropsDataObject | null | undefined;
mutate?(arg0: any): Promise>;
/**
* gql`[query]`
*/
mutation?: Record;
cacheKey?: string;
cacheKeyPrefix?: string;
onSave?(result: EditableObjectSaveResult): void;
ResetIcon?: React.ComponentType;
SaveIcon?: React.ComponentType;
EditIcon?: React.ComponentType;
}
export interface EditableObjectState extends PrismaCmsComponentState {
inEditMode: boolean;
loading: boolean;
}
export interface EditableObjectEditorProps extends Record {
Editor?: React.ElementType;
name: string;
helperText?: string;
onFocus?(event: React.FocusEvent): void;
fullWidth?: boolean;
label?: string;
autoComplete?: 'on' | 'off';
type?: 'text' | 'number' | 'date' | 'time';
value?: any;
}