import type { AuthenticatedUser } from '../../common/auth/authenticated-user';
import { AccountSharingService } from './account-sharing.service';
import { CreateAccountShareDto } from './dto/create-account-share.dto';
export declare class AccountSharingController {
    private readonly sharing;
    constructor(sharing: AccountSharingService);
    catalog(): Promise<{
        module: import("./account-sharing.repository").SharedModule;
        sourceOwnerId: string;
        sourceOwnerName: string | null;
        sourceOwnerEmail: string;
        sourceOwnerActive: boolean;
        sourceAccountId: string;
        sourceAccountName: string;
        grants: {
            shareId: string;
            granteeId: string;
        }[];
    }[]>;
    create(input: CreateAccountShareDto, actor: AuthenticatedUser): Promise<{
        sourceAccountName: string;
        id: string;
        createdAt: Date;
        updatedAt: Date;
        module: string;
        sourceOwnerId: string;
        sourceAccountId: string;
        granteeId: string;
        createdBy: string | null;
    }>;
    remove(id: string): Promise<void>;
    trading(user: AuthenticatedUser): Promise<{
        id: string;
        sharedAccess: {
            shareId: string;
            module: import("./account-sharing.repository").SharedModule;
            sourceOwnerId: string;
            sourceOwnerName: string | null;
            sourceOwnerEmail: string;
            sourceAccountId: string;
            readOnly: boolean;
        };
        name: string;
    }[]>;
    portfolio(user: AuthenticatedUser): Promise<{
        id: string;
        sharedAccess: {
            shareId: string;
            module: import("./account-sharing.repository").SharedModule;
            sourceOwnerId: string;
            sourceOwnerName: string | null;
            sourceOwnerEmail: string;
            sourceAccountId: string;
            readOnly: boolean;
        };
        name: string;
    }[]>;
}
