import BigNumber from 'bignumber.js';
import { Context, DefaultPortfolio, Identity, Namespace, NumberedPortfolio } from "../../../internal";
import { PaginationOptions, ProcedureMethod, ResultSet } from "../../../types";
/**
 * Handles all Portfolio related functionality on the Identity side
 */
export declare class Portfolios extends Namespace<Identity> {
    /**
     * @hidden
     */
    constructor(parent: Identity, context: Context);
    /**
     * Retrieve all the Portfolios owned by this Identity
     */
    getPortfolios(): Promise<[DefaultPortfolio, ...NumberedPortfolio[]]>;
    /**
     * Retrieve all Portfolios custodied by this Identity.
     *   This only includes portfolios owned by a different Identity but custodied by this one.
     *   To fetch Portfolios owned by this Identity, use [[getPortfolios]]
     *
     * @note supports pagination
     */
    getCustodiedPortfolios(paginationOpts?: PaginationOptions): Promise<ResultSet<DefaultPortfolio | NumberedPortfolio>>;
    /**
     * Retrieve a Numbered Portfolio or the Default Portfolio if Portfolio ID is not passed
     *
     * @param args.porfolioId - optional, defaults to the Default Portfolio
     */
    getPortfolio(): Promise<DefaultPortfolio>;
    getPortfolio(args: {
        portfolioId: BigNumber;
    }): Promise<NumberedPortfolio>;
    /**
     * Create a new Portfolio for the Identity
     */
    create: ProcedureMethod<{
        name: string;
    }, NumberedPortfolio>;
    /**
     * Delete a Portfolio by ID
     *
     * @note required role:
     *   - Portfolio Custodian
     */
    delete: ProcedureMethod<{
        portfolio: BigNumber | NumberedPortfolio;
    }, void>;
}
//# sourceMappingURL=Portfolios.d.ts.map