import { Checkpoint, CheckpointSchedule, Context, CustomPermissionGroup, Instruction, KnownPermissionGroup } from "../../internal";
import { InputTargets, InputTaxWithholding, SecondaryKey, SignerValue } from "../../types";
import { PortfolioId } from "../../types/internal";
/**
 * @hidden
 */
export declare function assertInstructionValid(instruction: Instruction, context: Context): Promise<void>;
/**
 * @hidden
 */
export declare function assertPortfolioExists(portfolioId: PortfolioId, context: Context): Promise<void>;
/**
 * @hidden
 */
export declare function assertSecondaryKeys(signerValues: SignerValue[], secondaryKeys: SecondaryKey[]): void;
/**
 * @hidden
 */
export declare function assertDistributionOpen(paymentDate: Date, expiryDate: Date | null): void;
/**
 * @hidden
 */
export declare function assertCaTargetsValid(targets: InputTargets, context: Context): void;
/**
 * @hidden
 */
export declare function assertCaTaxWithholdingsValid(taxWithholdings: InputTaxWithholding[], context: Context): void;
/**
 * @hidden
 */
export declare function assertCaCheckpointValid(checkpoint: Checkpoint | CheckpointSchedule | Date): Promise<void>;
/**
 * @hidden
 */
export declare function assertDistributionDatesValid(checkpoint: CheckpointSchedule | Date, paymentDate: Date, expiryDate: Date | null): Promise<void>;
/**
 * @hidden
 */
export declare function isFullGroupType(group: KnownPermissionGroup | CustomPermissionGroup): boolean;
//# sourceMappingURL=utils.d.ts.map