import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Definition of AWS::AmplifyUIBuilder::Component Resource Type
 */
export declare function getComponent(args: GetComponentArgs, opts?: pulumi.InvokeOptions): Promise<GetComponentResult>;
export interface GetComponentArgs {
    /**
     * The unique ID of the Amplify app associated with the component.
     */
    appId: string;
    /**
     * The name of the backend environment that is a part of the Amplify app.
     */
    environmentName: string;
    /**
     * The unique ID of the component.
     */
    id: string;
}
export interface GetComponentResult {
    /**
     * The information to connect a component's properties to data at runtime. You can't specify `tags` as a valid property for `bindingProperties` .
     */
    readonly bindingProperties?: {
        [key: string]: outputs.amplifyuibuilder.ComponentBindingPropertiesValue;
    };
    /**
     * A list of the component's `ComponentChild` instances.
     */
    readonly children?: outputs.amplifyuibuilder.ComponentChild[];
    /**
     * The data binding configuration for the component's properties. Use this for a collection component. You can't specify `tags` as a valid property for `collectionProperties` .
     */
    readonly collectionProperties?: {
        [key: string]: outputs.amplifyuibuilder.ComponentDataConfiguration;
    };
    /**
     * The type of the component. This can be an Amplify custom UI component or another custom component.
     */
    readonly componentType?: string;
    /**
     * The time that the component was created.
     */
    readonly createdAt?: string;
    /**
     * Describes the events that can be raised on the component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.
     */
    readonly events?: {
        [key: string]: outputs.amplifyuibuilder.ComponentEvent;
    };
    /**
     * The unique ID of the component.
     */
    readonly id?: string;
    /**
     * The time that the component was modified.
     */
    readonly modifiedAt?: string;
    /**
     * The name of the component.
     */
    readonly name?: string;
    /**
     * Describes the component's properties that can be overriden in a customized instance of the component. You can't specify `tags` as a valid property for `overrides` .
     */
    readonly overrides?: {
        [key: string]: any;
    };
    /**
     * Describes the component's properties. You can't specify `tags` as a valid property for `properties` .
     */
    readonly properties?: {
        [key: string]: outputs.amplifyuibuilder.ComponentProperty;
    };
    /**
     * The schema version of the component when it was imported.
     */
    readonly schemaVersion?: string;
    /**
     * The unique ID of the component in its original source system, such as Figma.
     */
    readonly sourceId?: string;
    /**
     * One or more key-value pairs to use when tagging the component.
     */
    readonly tags?: {
        [key: string]: string;
    };
    /**
     * A list of the component's variants. A variant is a unique style configuration of a main component.
     */
    readonly variants?: outputs.amplifyuibuilder.ComponentVariant[];
}
/**
 * Definition of AWS::AmplifyUIBuilder::Component Resource Type
 */
export declare function getComponentOutput(args: GetComponentOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetComponentResult>;
export interface GetComponentOutputArgs {
    /**
     * The unique ID of the Amplify app associated with the component.
     */
    appId: pulumi.Input<string>;
    /**
     * The name of the backend environment that is a part of the Amplify app.
     */
    environmentName: pulumi.Input<string>;
    /**
     * The unique ID of the component.
     */
    id: pulumi.Input<string>;
}
