import * as $dara from '@darabonba/typescript';
export declare class ModifyImageSharePermissionRequest extends $dara.Model {
    /**
     * @remarks
     * The IDs of Alibaba Cloud accounts to which you want to share the custom image. Valid values of N: 1 to 10. If you specify more than 10 Alibaba Cloud account IDs, the system processes only the first 10 account IDs. The excess account IDs are ignored.
     *
     * @example
     * 1234567890
     */
    addAccount?: string[];
    dryRun?: boolean;
    /**
     * @remarks
     * The ID of the shared custom image.
     *
     * >  You can share images encrypted by using CMKs but cannot share images encrypted by using service keys. When you share an image encrypted by using a service key, an error is reported.
     *
     * This parameter is required.
     *
     * @example
     * m-bp18ygjuqnwhechc****
     */
    imageId?: string;
    /**
     * @remarks
     * Specifies whether to publish or unpublish a community image. Valid values:
     *
     * *   true: publishes the custom image as a community image.
     * *   false: unpublishes a community image. The unpublish operation takes effect only on community images.
     *
     * Default value: false.
     *
     * @example
     * false
     */
    isPublic?: boolean;
    /**
     * @remarks
     * > This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * hide
     */
    launchPermission?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The region ID of the custom image. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    /**
     * @remarks
     * The IDs of Alibaba Cloud accounts from which you want to unshare the custom image. Valid values of N: 1 to 10. If you specify more than 10 Alibaba Cloud account IDs, the system processes only the first 10 account IDs. The excess account IDs are ignored.
     *
     * @example
     * 1234567890
     */
    removeAccount?: string[];
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
