import { ISubmittableResult } from '@polkadot/types/types';
import { CheckpointSchedule, Context, PostTransactionValue, Procedure } from "../../internal";
import { CalendarPeriod } from "../../types";
import { ProcedureAuthorization } from "../../types/internal";
export interface CreateCheckpointScheduleParams {
    /**
     * The date from which to begin creating snapshots. A null value indicates immediately
     */
    start: Date | null;
    /**
     * The cadence with which to make Checkpoints.
     * @note A null value indicates to create only one Checkpoint, regardless of repetitions specified. This can be used to schedule the creation of a Checkpoint in the future
     */
    period: CalendarPeriod | null;
    /**
     * The number of snapshots to take. A null value indicates snapshots should be made indefinitely
     */
    repetitions: number | null;
}
/**
 * @hidden
 */
export declare type Params = CreateCheckpointScheduleParams & {
    ticker: string;
};
/**
 * @hidden
 */
export declare const createCheckpointScheduleResolver: (ticker: string, context: Context) => (receipt: ISubmittableResult) => CheckpointSchedule;
/**
 * @hidden
 */
export declare function prepareCreateCheckpointSchedule(this: Procedure<Params, CheckpointSchedule>, args: Params): Promise<PostTransactionValue<CheckpointSchedule>>;
/**
 * @hidden
 */
export declare function getAuthorization(this: Procedure<Params, CheckpointSchedule>, { ticker }: Params): ProcedureAuthorization;
/**
 * @hidden
 */
export declare const createCheckpointSchedule: () => Procedure<Params, CheckpointSchedule>;
//# sourceMappingURL=createCheckpointSchedule.d.ts.map