import * as React from "react";
import { TouchableHighlightProps, StyleProp, ViewStyle } from "react-native";
import Icon from "./Icon";
import theme from "../styles/DefaultTheme";
/**
* A button is component that the user can press to trigger an action.
*
*
*
*
* Text button
*
*
*
* Outlined button
*
*
*
* Contained button
*
*
*
* ## Usage
* ```js
* import * as React from 'react';
* import { Button } from '@draftbit/ui';
*
* const MyComponent = () => (
* console.log('Pressed')}>
* Press me
*
* );
*
* export default MyComponent;
* ```
*/
declare type Props = {
disabled?: boolean;
type?: "solid" | "outline" | "text";
loading?: boolean;
icon?: string;
labelColor?: string;
color?: string;
children?: React.ReactNode;
onPress: () => void;
elevation?: number;
style?: StyleProp;
IconOverride?: typeof Icon;
theme: typeof theme;
} & TouchableHighlightProps;
declare const _default: React.ComponentType & {
theme?: import("@draftbit/react-theme-provider").$DeepPartial | undefined;
}> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics & React.FC, {}>;
export default _default;
export declare const SEED_DATA: {
name: string;
tag: string;
category: string;
props: {
type: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
propType: string;
defaultValue: string;
};
icon: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
propType: string;
defaultValue: null;
};
children: {
group: string;
label: string;
description: string;
required: boolean;
editable: boolean;
formType: string;
propType: string;
defaultValue: string;
};
color: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
propType: string;
defaultValue: null;
};
labelColor: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
propType: string;
defaultValue: null;
};
disabled: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
propType: string;
defaultValue: null;
};
loading: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
propType: string;
defaultValue: null;
};
onPress: {
group: string;
label: string;
description: string;
editable: boolean;
required: boolean;
formType: string;
defaultValue: null;
};
};
layout: {};
}[];