import { Logger } from "@decaf-ts/logging";
/**
 * @description Prints a styled banner to the console.
 * @summary Generates and prints a colorful ASCII art banner with a random slogan.
 * @param {Logger} [logger] - Optional logger for verbose output.
 * @memberOf module:utils
 * @function printBanner
 * @mermaid
 * sequenceDiagram
 *   participant printBanner
 *   participant getSlogan
 *   participant padEnd
 *   participant console
 *   printBanner->>getSlogan: Call getSlogan()
 *   getSlogan-->>printBanner: Return random slogan
 *   printBanner->>printBanner: Create banner ASCII art
 *   printBanner->>printBanner: Split banner into lines
 *   printBanner->>printBanner: Calculate max line length
 *   printBanner->>padEnd: Call padEnd with slogan
 *   padEnd-->>printBanner: Return padded slogan line
 *   loop For each banner line
 *     printBanner->>style: Call style(line)
 *     style-->>printBanner: Return styled line
 *     printBanner->>console: Log styled line
 *   end
 */
export declare function printBanner(logger?: Logger): void;
/**
 * @description Retrieves a slogan from the predefined list.
 * @summary Fetches a random slogan or a specific one by index from the slogans list.
 * @param {number} [i] - Optional index to retrieve a specific slogan.
 * @return {string} The selected slogan.
 * @function getSlogan
 * @memberOf module:utils
 * @mermaid
 * sequenceDiagram
 *   participant getSlogan
 *   participant Math.random
 *   participant slogans
 *   alt i is undefined
 *     getSlogan->>Math.random: Generate random index
 *     Math.random-->>getSlogan: Return random index
 *   else i is defined
 *     Note over getSlogan: Use provided index
 *   end
 *   getSlogan->>slogans: Access slogan at index
 *   slogans-->>getSlogan: Return slogan
 *   alt Error occurs
 *     getSlogan->>getSlogan: Throw error
 *   end
 *   getSlogan-->>Caller: Return slogan
 */
export declare function getSlogan(i?: number): string;
