import { AbstractEntity, CommonFetchParams, Creator, PaginationReqParams, ResponseBody, User } from '@/types/index';
export interface AuthorizeCommon extends Pick<AbstractEntity, 'id' | 'createTime' | 'creator' | 'updateTime'> {
    type?: string;
    deleted: boolean;
    mask: number;
    typeId: string;
}
export interface AuthorizeResCommon extends AuthorizeCommon {
    targetId: string;
}
export declare type AuthorizeListFetchParams = Pick<AuthorizeCommon, 'type' | 'typeId'> & Pick<CommonFetchParams, 'applicationId'>;
export interface AuthorizeListItem extends AuthorizeCommon {
    target: Omit<Creator, 'nickName'>;
}
export interface AuthorizeListFetchResponse extends ResponseBody {
    data: AuthorizeListItem[];
}
export interface AuthorizeAddParams extends AuthorizeListFetchParams {
    targetIds: string[];
    mask: number;
    allow?: boolean;
}
export interface AuthorizeAddResponse extends ResponseBody {
    data: AuthorizeResCommon;
}
export interface AuthorizeUpdateParams extends Pick<AuthorizeAddParams, 'applicationId' | 'mask' | 'allow'> {
    ids: string[];
}
export interface AuthorizeUpdateResponse extends ResponseBody {
    data: AuthorizeResCommon;
}
export declare type AuthorizeDeleteParams = Pick<AuthorizeUpdateParams, 'applicationId' | 'ids'>;
export interface AuthorizeDeleteResponse extends ResponseBody {
    data: AuthorizeResCommon;
}
export interface AuthorizeUserFetchParams extends PaginationReqParams {
}
export interface AuthorizeUserFetchRes extends ResponseBody {
    data: User[];
}
