export interface BatchCreateCategoryInputCategory {
    /** The unique identifier to be associated with a category. If you don't include a value, the category is automatically assigned a unique identifier. */
    id?: string;
    /** The name of the category. */
    title: string;
    /** The color to be associated with a category. The color must be a hexadecimal value of either 3 or 6 digits. */
    color?: string;
}
export interface CategoryInput {
    /** The unique identifier of the category. */
    id: string;
    /** The name of the category. */
    title: string;
    /** The color of the category, represented as a hexadecimal value of either 3 or 6 digits. */
    color?: string;
}
export interface AppDefinitionInput {
    /** The cards that make up the Q App definition. */
    cards: any[];
    /** The initial prompt displayed when the Q App is started. */
    initialPrompt?: string;
}
export interface CardValue {
    /** The unique identifier of the card. */
    cardId: string;
    /** The value or result associated with the card. */
    value: string;
    /** The structure that describes how the current form card value is mutated. Only applies for form cards when multiple responses are allowed. */
    submissionMutation?: any;
}
export interface PermissionInput {
    /** The action associated with the permission. */
    action: 'read' | 'write';
    /** The principal user to which the permission applies. */
    principal: string;
}
export interface SessionSharingConfiguration {
    /** Indicates whether an Q App session is shareable with other users. */
    enabled: boolean;
    /** Indicates whether an Q App session can accept responses from users. */
    acceptResponses?: boolean;
    /** Indicates whether collected responses for an Q App session are revealed for all users. */
    revealCards?: boolean;
}
export interface AssociateLibraryItemReviewInput {
    /** The unique identifier for the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the library item to associate the review with. */
    libraryItemId: string;
}
export interface AssociateQAppWithUserInput {
    /** The ID of the Amazon Q App to associate with the user. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface BatchCreateCategoryInput {
    /** The list of category objects to be created */
    categories: BatchCreateCategoryInputCategory[];
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface BatchDeleteCategoryInput {
    /** The list of IDs of the categories to be deleted. */
    categories: string[];
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface BatchUpdateCategoryInput {
    /** The list of categories to be updated with their new values. */
    categories: CategoryInput[];
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface CreateLibraryItemInput {
    /** The unique identifier of the Amazon Q App to publish to the library. */
    appId: string;
    /** The version of the Amazon Q App to publish to the library. */
    appVersion: number;
    /** The categories to associate with the library item for easier discovery. */
    categories: string[];
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface CreatePresignedUrlInput {
    /** The unique identifier of the Q App the file is associated with. */
    appId: string;
    /** The unique identifier of the card the file is associated with. */
    cardId: string;
    /** The Base64-encoded SHA-256 digest of the contents of the file to be uploaded. */
    fileContentsSha256: string;
    /** The name of the file to be uploaded. */
    fileName: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** Whether the file is associated with a Q App definition or a specific Q App session. */
    scope: 'APPLICATION' | 'SESSION';
    /** The unique identifier of the Q App session the file is associated with, if applicable. */
    sessionId?: string;
}
export interface CreateQAppInput {
    /** The definition of the new Q App, specifying the cards and flow. */
    appDefinition: AppDefinitionInput;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The title of the new Q App. */
    title: string;
    /** The description of the new Q App. */
    description?: string;
    /** Optional tags to associate with the new Q App. */
    tags?: Record<string, string>;
}
export interface DeleteLibraryItemInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the library item to delete. */
    libraryItemId: string;
}
export interface DeleteQAppInput {
    /** The unique identifier of the Q App to delete. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface DescribeQAppPermissionsInput {
    /** The unique identifier of the Amazon Q App for which to retrieve permissions. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface DisassociateLibraryItemReviewInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the library item to remove the review from. */
    libraryItemId: string;
}
export interface DisassociateQAppFromUserInput {
    /** The unique identifier of the Q App to disassociate from the user. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface ExportQAppSessionDataInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App data collection session. */
    sessionId: string;
}
export interface GetLibraryItemInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the library item to retrieve. */
    libraryItemId: string;
    /** The unique identifier of the Amazon Q App associated with the library item. */
    appId?: string;
}
export interface GetQAppInput {
    /** The unique identifier of the Q App to retrieve. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The version of the Q App. */
    appVersion?: number;
}
export interface GetQAppSessionInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App session to retrieve. */
    sessionId: string;
}
export interface GetQAppSessionMetadataInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App session. */
    sessionId: string;
}
export interface ImportDocumentInput {
    /** The unique identifier of the Q App the file is associated with. */
    appId: string;
    /** The unique identifier of the card the file is associated with. */
    cardId: string;
    /** The base64-encoded contents of the file to upload. */
    fileContentsBase64: string;
    /** The name of the file being uploaded. */
    fileName: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** Whether the file is associated with a Q App definition or a specific Q App session. */
    scope: 'APPLICATION' | 'SESSION';
    /** The unique identifier of the Q App session the file is associated with, if applicable. */
    sessionId?: string;
}
export interface ListCategoriesInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
}
export interface ListLibraryItemsInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** Optional category to filter the library items by. */
    categoryId?: string;
    /** The maximum number of library items to return in the response. */
    limit?: number;
    /** The token to request the next page of results. */
    nextToken?: string;
}
export interface ListQAppsInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The maximum number of Q Apps to return in the response. */
    limit?: number;
    /** The token to request the next page of results. */
    nextToken?: string;
}
export interface ListQAppSessionDataInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App data collection session. */
    sessionId: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource whose tags should be listed. */
    resourceARN: string;
}
export interface PredictQAppInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The input to generate the Q App definition from, either a conversation or problem statement. */
    options?: {
        conversation?: any[];
    } | {
        problemStatement?: string;
    };
}
export interface StartQAppSessionInput {
    /** The unique identifier of the Q App to start a session for. */
    appId: string;
    /** The version of the Q App to use for the session. */
    appVersion: number;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** Optional initial input values to provide for the Q App session. */
    initialValues?: CardValue[];
    /** The unique identifier of the a Q App session. */
    sessionId?: string;
    /** Optional tags to associate with the new Q App session. */
    tags?: Record<string, string>;
}
export interface StopQAppSessionInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App session to stop. */
    sessionId: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to tag. */
    resourceARN: string;
    /** The tags to associate with the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to disassociate the tag from. */
    resourceARN: string;
    /** The keys of the tags to disassociate from the resource. */
    tagKeys: string[];
}
export interface UpdateLibraryItemInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the library item to update. */
    libraryItemId: string;
    /** The new categories to associate with the library item. */
    categories?: string[];
    /** The new status to set for the library item, such as "Published" or "Hidden". */
    status?: 'PUBLISHED' | 'DISABLED';
}
export interface UpdateLibraryItemMetadataInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the updated library item. */
    libraryItemId: string;
    /** The verification status of the library item */
    isVerified?: boolean;
}
export interface UpdateQAppInput {
    /** The unique identifier of the Q App to update. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The new definition specifying the cards and flow for the Q App. */
    appDefinition?: AppDefinitionInput;
    /** The new description for the Q App. */
    description?: string;
    /** The new title for the Q App. */
    title?: string;
}
export interface UpdateQAppPermissionsInput {
    /** The unique identifier of the Amazon Q App for which permissions are being updated. */
    appId: string;
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The list of permissions to grant for the Amazon Q App. */
    grantPermissions?: PermissionInput[];
    /** The list of permissions to revoke for the Amazon Q App. */
    revokePermissions?: PermissionInput[];
}
export interface UpdateQAppSessionInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App session to provide input for. */
    sessionId: string;
    /** The input values to provide for the current state of the Q App session. */
    values?: CardValue[];
}
export interface UpdateQAppSessionMetadataInput {
    /** The unique identifier of the Amazon Q Business application environment instance. */
    instanceId: string;
    /** The unique identifier of the Q App session to update configuration for. */
    sessionId: string;
    /** The new sharing configuration for the Q App data collection session. */
    sharingConfiguration: SessionSharingConfiguration;
    /** The new name for the Q App session. */
    sessionName?: string;
}
/** QApps service binding for Step Functions SDK integrations. */
export declare class QApps {
    constructor();
    associateLibraryItemReview<T>(params: AssociateLibraryItemReviewInput): Promise<T>;
    associateQAppWithUser<T>(params: AssociateQAppWithUserInput): Promise<T>;
    batchCreateCategory<T>(params: BatchCreateCategoryInput): Promise<T>;
    batchDeleteCategory<T>(params: BatchDeleteCategoryInput): Promise<T>;
    batchUpdateCategory<T>(params: BatchUpdateCategoryInput): Promise<T>;
    createLibraryItem<T>(params: CreateLibraryItemInput): Promise<T>;
    createPresignedUrl<T>(params: CreatePresignedUrlInput): Promise<T>;
    createQApp<T>(params: CreateQAppInput): Promise<T>;
    deleteLibraryItem<T>(params: DeleteLibraryItemInput): Promise<T>;
    deleteQApp<T>(params: DeleteQAppInput): Promise<T>;
    describeQAppPermissions<T>(params: DescribeQAppPermissionsInput): Promise<T>;
    disassociateLibraryItemReview<T>(params: DisassociateLibraryItemReviewInput): Promise<T>;
    disassociateQAppFromUser<T>(params: DisassociateQAppFromUserInput): Promise<T>;
    exportQAppSessionData<T>(params: ExportQAppSessionDataInput): Promise<T>;
    getLibraryItem<T>(params: GetLibraryItemInput): Promise<T>;
    getQApp<T>(params: GetQAppInput): Promise<T>;
    getQAppSession<T>(params: GetQAppSessionInput): Promise<T>;
    getQAppSessionMetadata<T>(params: GetQAppSessionMetadataInput): Promise<T>;
    importDocument<T>(params: ImportDocumentInput): Promise<T>;
    listCategories<T>(params: ListCategoriesInput): Promise<T>;
    listLibraryItems<T>(params: ListLibraryItemsInput): Promise<T>;
    listQApps<T>(params: ListQAppsInput): Promise<T>;
    listQAppSessionData<T>(params: ListQAppSessionDataInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    predictQApp<T>(params: PredictQAppInput): Promise<T>;
    startQAppSession<T>(params: StartQAppSessionInput): Promise<T>;
    stopQAppSession<T>(params: StopQAppSessionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateLibraryItem<T>(params: UpdateLibraryItemInput): Promise<T>;
    updateLibraryItemMetadata<T>(params: UpdateLibraryItemMetadataInput): Promise<T>;
    updateQApp<T>(params: UpdateQAppInput): Promise<T>;
    updateQAppPermissions<T>(params: UpdateQAppPermissionsInput): Promise<T>;
    updateQAppSession<T>(params: UpdateQAppSessionInput): Promise<T>;
    updateQAppSessionMetadata<T>(params: UpdateQAppSessionMetadataInput): Promise<T>;
}
//# sourceMappingURL=QApps.d.ts.map