import type { Channel, ChannelApiResponse, ChannelSpec, Pulse, PulseParameter, User } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
export declare const NEW_PULSE_TEMPLATE: {
    name: null;
    cards: never[];
    channels: never[];
    skip_if_empty: boolean;
    collection_id: null;
    parameters: never[];
};
export declare function channelIsValid(channel: Channel, channelSpec: ChannelSpec): boolean | "" | 0 | undefined;
export declare function scheduleIsValid(channel: Channel): boolean;
export declare function fieldsAreValid(channel: Channel, channelSpec: ChannelSpec): boolean;
export declare function recipientIsValid(recipient: User): boolean;
export declare function pulseIsValid(pulse: Pulse, channelSpecs: ChannelSpecs): boolean;
export declare function dashboardPulseIsValid(pulse: Pulse, channelSpecs: ChannelSpecs): boolean;
export declare function emailIsEnabled(pulse: Pulse): boolean;
export declare function cleanPulse(pulse: Pulse, channelSpecs: any): {
    channels: Channel[];
    parameters: {
        default: boolean;
        id: number;
        name: string | undefined;
        slug: string | undefined;
        type: string | undefined;
        value: any;
    }[];
    cards: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").Card<import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").DatasetQuery>[];
    name?: string | undefined;
};
type ChannelSpecs = {
    email?: {
        configured: boolean;
    };
};
export declare function getDefaultChannel(channelSpecs: ChannelSpecs): {
    configured: boolean;
} | undefined;
export declare function createChannel(channelSpec: ChannelSpec, opts?: Partial<Channel>): Channel;
export declare function getPulseParameters(pulse: Pulse): any[];
export declare function getActivePulseParameters(pulse: Pulse, parameters: PulseParameter[]): any;
export declare const getHasConfiguredAnyChannel: (formInput: Partial<ChannelApiResponse>) => boolean;
export declare const getHasConfiguredEmailChannel: (formInput: Partial<ChannelApiResponse>) => boolean;
export {};
