/**
 * Base SMS exception class
 */
export declare class SmsException extends Error {
    readonly _originalError?: unknown | undefined;
    readonly _code?: string | undefined;
    constructor(message: string, _originalError?: unknown | undefined, _code?: string | undefined);
}
/**
 * Exception thrown when an unsupported driver is requested
 */
export declare class UnsupportedDriverException extends SmsException {
    constructor(driver: string);
}
/**
 * Exception thrown when a driver encounters an error
 */
export declare class SmsDriverException extends SmsException {
    constructor(message: string, originalError?: unknown, code?: string);
}
/**
 * Exception thrown when configuration is invalid
 */
export declare class ConfigurationException extends SmsException {
    constructor(message: string, code?: string);
}
/**
 * Exception thrown when required configuration is missing
 */
export declare class MissingConfigException extends ConfigurationException {
    constructor(missingKey: string);
}
/**
 * Exception thrown when message validation fails
 */
export declare class MessageValidationException extends SmsException {
    constructor(message: string, code?: string);
}
/**
 * Exception thrown when rate limit is exceeded
 */
export declare class RateLimitException extends SmsException {
    constructor(message?: string);
}
/**
 * Exception thrown when HTTP request fails
 */
export declare class HttpException extends SmsException {
    readonly _status?: number | undefined;
    constructor(message: string, _status?: number | undefined, _originalError?: unknown);
}
//# sourceMappingURL=sms-exceptions.d.ts.map